mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
New package: zn_poly-0.9.2
This commit is contained in:
parent
f91cd82ceb
commit
bf74a2e243
3 changed files with 1336 additions and 0 deletions
444
srcpkgs/zn_poly/files/tuning-32.c
Normal file
444
srcpkgs/zn_poly/files/tuning-32.c
Normal file
|
@ -0,0 +1,444 @@
|
||||||
|
/*
|
||||||
|
NOTE: do not edit this file! It is auto-generated by the "tune" program.
|
||||||
|
(Run "make tune" and then "./tune > tuning.c" to regenerate it.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
tuning.c: global tuning values
|
||||||
|
|
||||||
|
Copyright (C) 2007, 2008, David Harvey
|
||||||
|
|
||||||
|
This file is part of the zn_poly library (version 0.9).
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) version 3 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "zn_poly_internal.h"
|
||||||
|
|
||||||
|
size_t ZNP_mpn_smp_kara_thresh = 43;
|
||||||
|
size_t ZNP_mpn_mulmid_fallback_thresh = 551;
|
||||||
|
|
||||||
|
tuning_info_t tuning_info[] =
|
||||||
|
{
|
||||||
|
{ // bits = 0
|
||||||
|
},
|
||||||
|
{ // bits = 1
|
||||||
|
},
|
||||||
|
{ // bits = 2
|
||||||
|
47, // KS1 -> KS2 multiplication threshold
|
||||||
|
1053, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
43, // KS1 -> KS2 squaring threshold
|
||||||
|
1053, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
56, // KS1 -> KS2 middle product threshold
|
||||||
|
689, // KS2 -> KS4 middle product threshold
|
||||||
|
23040, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 3
|
||||||
|
39, // KS1 -> KS2 multiplication threshold
|
||||||
|
412, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
39, // KS1 -> KS2 squaring threshold
|
||||||
|
315, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
43, // KS1 -> KS2 middle product threshold
|
||||||
|
264, // KS2 -> KS4 middle product threshold
|
||||||
|
23040, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 4
|
||||||
|
39, // KS1 -> KS2 multiplication threshold
|
||||||
|
901, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
33, // KS1 -> KS2 squaring threshold
|
||||||
|
901, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
43, // KS1 -> KS2 middle product threshold
|
||||||
|
185, // KS2 -> KS4 middle product threshold
|
||||||
|
23040, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 5
|
||||||
|
35, // KS1 -> KS2 multiplication threshold
|
||||||
|
264, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
31, // KS1 -> KS2 squaring threshold
|
||||||
|
264, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
35, // KS1 -> KS2 middle product threshold
|
||||||
|
144, // KS2 -> KS4 middle product threshold
|
||||||
|
21569, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 6
|
||||||
|
33, // KS1 -> KS2 multiplication threshold
|
||||||
|
247, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
31, // KS1 -> KS2 squaring threshold
|
||||||
|
173, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
116, // KS2 -> KS4 middle product threshold
|
||||||
|
14044, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 7
|
||||||
|
33, // KS1 -> KS2 multiplication threshold
|
||||||
|
247, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
23, // KS1 -> KS2 squaring threshold
|
||||||
|
226, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
116, // KS2 -> KS4 middle product threshold
|
||||||
|
12720, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 8
|
||||||
|
27, // KS1 -> KS2 multiplication threshold
|
||||||
|
123, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
112, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
94, // KS2 -> KS4 middle product threshold
|
||||||
|
7753, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 9
|
||||||
|
24, // KS1 -> KS2 multiplication threshold
|
||||||
|
206, // KS2 -> KS4 multiplication threshold
|
||||||
|
62020, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
158, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
27, // KS1 -> KS2 middle product threshold
|
||||||
|
86, // KS2 -> KS4 middle product threshold
|
||||||
|
9451, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 10
|
||||||
|
25, // KS1 -> KS2 multiplication threshold
|
||||||
|
86, // KS2 -> KS4 multiplication threshold
|
||||||
|
68475, // KS4 -> FFT multiplication threshold
|
||||||
|
17, // KS1 -> KS2 squaring threshold
|
||||||
|
66, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
24, // KS1 -> KS2 middle product threshold
|
||||||
|
70, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 11
|
||||||
|
23, // KS1 -> KS2 multiplication threshold
|
||||||
|
134, // KS2 -> KS4 multiplication threshold
|
||||||
|
62020, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
107, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
23, // KS1 -> KS2 middle product threshold
|
||||||
|
75, // KS2 -> KS4 middle product threshold
|
||||||
|
5393, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 12
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
78, // KS2 -> KS4 multiplication threshold
|
||||||
|
75603, // KS4 -> FFT multiplication threshold
|
||||||
|
16, // KS1 -> KS2 squaring threshold
|
||||||
|
72, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
19, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
4280, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 13
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
86, // KS2 -> KS4 multiplication threshold
|
||||||
|
56173, // KS4 -> FFT multiplication threshold
|
||||||
|
14, // KS1 -> KS2 squaring threshold
|
||||||
|
78, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
19, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 14
|
||||||
|
19, // KS1 -> KS2 multiplication threshold
|
||||||
|
66, // KS2 -> KS4 multiplication threshold
|
||||||
|
62020, // KS4 -> FFT multiplication threshold
|
||||||
|
16, // KS1 -> KS2 squaring threshold
|
||||||
|
62, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 15
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
67, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
43, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
51, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 16
|
||||||
|
14, // KS1 -> KS2 multiplication threshold
|
||||||
|
66, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
56, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
54, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 17
|
||||||
|
14, // KS1 -> KS2 multiplication threshold
|
||||||
|
47, // KS2 -> KS4 multiplication threshold
|
||||||
|
50877, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
33, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
47, // KS2 -> KS4 middle product threshold
|
||||||
|
3077, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 18
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
47, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
33, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
14, // KS1 -> KS2 middle product threshold
|
||||||
|
47, // KS2 -> KS4 middle product threshold
|
||||||
|
3077, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 19
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
31, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
27, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
38, // KS2 -> KS4 middle product threshold
|
||||||
|
2363, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 20
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
43, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
33, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
39, // KS2 -> KS4 middle product threshold
|
||||||
|
2363, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 21
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
32, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
25, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
35, // KS2 -> KS4 middle product threshold
|
||||||
|
1756, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 22
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
31, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
24, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
35, // KS2 -> KS4 middle product threshold
|
||||||
|
2071, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 23
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
24, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
21, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
27, // KS2 -> KS4 middle product threshold
|
||||||
|
1539, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 24
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
28, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
23, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
29, // KS2 -> KS4 middle product threshold
|
||||||
|
1756, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 25
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
21, // KS2 -> KS4 multiplication threshold
|
||||||
|
25439, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
21, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
1305, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 26
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
31010, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
19, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
1349, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 27
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
17, // KS2 -> KS4 multiplication threshold
|
||||||
|
28087, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
1070, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 28
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
17, // KS2 -> KS4 multiplication threshold
|
||||||
|
28087, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
21, // KS2 -> KS4 middle product threshold
|
||||||
|
1070, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 29
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
17, // KS2 -> KS4 multiplication threshold
|
||||||
|
20868, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
14, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
21, // KS2 -> KS4 middle product threshold
|
||||||
|
970, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
8 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 30
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
27, // KS2 -> KS4 multiplication threshold
|
||||||
|
28087, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
23, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
27, // KS2 -> KS4 middle product threshold
|
||||||
|
1305, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
8 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 31
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
23, // KS2 -> KS4 multiplication threshold
|
||||||
|
28087, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
1070, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 32
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
25, // KS2 -> KS4 multiplication threshold
|
||||||
|
28087, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
19, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
8, // KS1 -> KS2 middle product threshold
|
||||||
|
27, // KS2 -> KS4 middle product threshold
|
||||||
|
1539, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// end of file ****************************************************************
|
860
srcpkgs/zn_poly/files/tuning-64.c
Normal file
860
srcpkgs/zn_poly/files/tuning-64.c
Normal file
|
@ -0,0 +1,860 @@
|
||||||
|
/*
|
||||||
|
NOTE: do not edit this file! It is auto-generated by the "tune" program.
|
||||||
|
(Run "make tune" and then "./tune > tuning.c" to regenerate it.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
tuning.c: global tuning values
|
||||||
|
|
||||||
|
Copyright (C) 2007, 2008, David Harvey
|
||||||
|
|
||||||
|
This file is part of the zn_poly library (version 0.9).
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) version 3 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "zn_poly_internal.h"
|
||||||
|
|
||||||
|
size_t ZNP_mpn_smp_kara_thresh = 35;
|
||||||
|
size_t ZNP_mpn_mulmid_fallback_thresh = 458;
|
||||||
|
|
||||||
|
tuning_info_t tuning_info[] =
|
||||||
|
{
|
||||||
|
{ // bits = 0
|
||||||
|
},
|
||||||
|
{ // bits = 1
|
||||||
|
},
|
||||||
|
{ // bits = 2
|
||||||
|
141, // KS1 -> KS2 multiplication threshold
|
||||||
|
14733, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
102, // KS1 -> KS2 squaring threshold
|
||||||
|
3602, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
102, // KS1 -> KS2 middle product threshold
|
||||||
|
1378, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 3
|
||||||
|
112, // KS1 -> KS2 multiplication threshold
|
||||||
|
4308, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
61, // KS1 -> KS2 squaring threshold
|
||||||
|
4817, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
102, // KS1 -> KS2 middle product threshold
|
||||||
|
2356, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 4
|
||||||
|
80, // KS1 -> KS2 multiplication threshold
|
||||||
|
2576, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
57, // KS1 -> KS2 squaring threshold
|
||||||
|
1801, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
72, // KS1 -> KS2 middle product threshold
|
||||||
|
1053, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 5
|
||||||
|
67, // KS1 -> KS2 multiplication threshold
|
||||||
|
3294, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
56, // KS1 -> KS2 squaring threshold
|
||||||
|
2303, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
65, // KS1 -> KS2 middle product threshold
|
||||||
|
901, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 6
|
||||||
|
57, // KS1 -> KS2 multiplication threshold
|
||||||
|
1152, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
51, // KS1 -> KS2 squaring threshold
|
||||||
|
985, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
62, // KS1 -> KS2 middle product threshold
|
||||||
|
985, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 7
|
||||||
|
47, // KS1 -> KS2 multiplication threshold
|
||||||
|
1540, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
43, // KS1 -> KS2 squaring threshold
|
||||||
|
788, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
51, // KS1 -> KS2 middle product threshold
|
||||||
|
451, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 8
|
||||||
|
47, // KS1 -> KS2 multiplication threshold
|
||||||
|
901, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
35, // KS1 -> KS2 squaring threshold
|
||||||
|
753, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
43, // KS1 -> KS2 middle product threshold
|
||||||
|
576, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 9
|
||||||
|
43, // KS1 -> KS2 multiplication threshold
|
||||||
|
589, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
43, // KS1 -> KS2 squaring threshold
|
||||||
|
493, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
39, // KS1 -> KS2 middle product threshold
|
||||||
|
302, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 10
|
||||||
|
38, // KS1 -> KS2 multiplication threshold
|
||||||
|
824, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
35, // KS1 -> KS2 squaring threshold
|
||||||
|
576, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
38, // KS1 -> KS2 middle product threshold
|
||||||
|
337, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 11
|
||||||
|
43, // KS1 -> KS2 multiplication threshold
|
||||||
|
431, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
33, // KS1 -> KS2 squaring threshold
|
||||||
|
377, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
247, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 12
|
||||||
|
38, // KS1 -> KS2 multiplication threshold
|
||||||
|
482, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
33, // KS1 -> KS2 squaring threshold
|
||||||
|
403, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
216, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 13
|
||||||
|
33, // KS1 -> KS2 multiplication threshold
|
||||||
|
345, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
30, // KS1 -> KS2 squaring threshold
|
||||||
|
315, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
33, // KS1 -> KS2 middle product threshold
|
||||||
|
189, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 14
|
||||||
|
33, // KS1 -> KS2 multiplication threshold
|
||||||
|
345, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
29, // KS1 -> KS2 squaring threshold
|
||||||
|
286, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
31, // KS1 -> KS2 middle product threshold
|
||||||
|
116, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 15
|
||||||
|
31, // KS1 -> KS2 multiplication threshold
|
||||||
|
322, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
23, // KS1 -> KS2 squaring threshold
|
||||||
|
226, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
29, // KS1 -> KS2 middle product threshold
|
||||||
|
121, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
1000 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 16
|
||||||
|
29, // KS1 -> KS2 multiplication threshold
|
||||||
|
337, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
25, // KS1 -> KS2 squaring threshold
|
||||||
|
173, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
29, // KS1 -> KS2 middle product threshold
|
||||||
|
101, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 17
|
||||||
|
29, // KS1 -> KS2 multiplication threshold
|
||||||
|
231, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
23, // KS1 -> KS2 squaring threshold
|
||||||
|
216, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
27, // KS1 -> KS2 middle product threshold
|
||||||
|
94, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 18
|
||||||
|
25, // KS1 -> KS2 multiplication threshold
|
||||||
|
189, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
23, // KS1 -> KS2 squaring threshold
|
||||||
|
134, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
23, // KS1 -> KS2 middle product threshold
|
||||||
|
94, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 19
|
||||||
|
27, // KS1 -> KS2 multiplication threshold
|
||||||
|
226, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
216, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
86, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
1000, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 20
|
||||||
|
22, // KS1 -> KS2 multiplication threshold
|
||||||
|
144, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
119, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
80, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 21
|
||||||
|
25, // KS1 -> KS2 multiplication threshold
|
||||||
|
189, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
19, // KS1 -> KS2 squaring threshold
|
||||||
|
121, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
80, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 22
|
||||||
|
21, // KS1 -> KS2 multiplication threshold
|
||||||
|
102, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
21, // KS1 -> KS2 squaring threshold
|
||||||
|
102, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
70, // KS2 -> KS4 middle product threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
13 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 23
|
||||||
|
22, // KS1 -> KS2 multiplication threshold
|
||||||
|
147, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
17, // KS1 -> KS2 squaring threshold
|
||||||
|
102, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
19, // KS1 -> KS2 middle product threshold
|
||||||
|
72, // KS2 -> KS4 middle product threshold
|
||||||
|
23040, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 24
|
||||||
|
19, // KS1 -> KS2 multiplication threshold
|
||||||
|
86, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
19, // KS1 -> KS2 squaring threshold
|
||||||
|
72, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
19, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
20868, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 25
|
||||||
|
21, // KS1 -> KS2 multiplication threshold
|
||||||
|
149, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
19, // KS1 -> KS2 squaring threshold
|
||||||
|
102, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
21, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
20868, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 26
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
86, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
16, // KS1 -> KS2 squaring threshold
|
||||||
|
72, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
16026, // KS4 -> FFT middle product threshold
|
||||||
|
13, // nussbaumer multiplication threshold
|
||||||
|
12 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 27
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
119, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
16, // KS1 -> KS2 squaring threshold
|
||||||
|
64, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
16, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
16026, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 28
|
||||||
|
23, // KS1 -> KS2 multiplication threshold
|
||||||
|
107, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
14, // KS1 -> KS2 squaring threshold
|
||||||
|
62, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
66, // KS2 -> KS4 middle product threshold
|
||||||
|
9451, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 29
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
85, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
14, // KS1 -> KS2 squaring threshold
|
||||||
|
65, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
16, // KS1 -> KS2 middle product threshold
|
||||||
|
61, // KS2 -> KS4 middle product threshold
|
||||||
|
14044, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 30
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
66, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
17, // KS1 -> KS2 squaring threshold
|
||||||
|
43, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
61, // KS2 -> KS4 middle product threshold
|
||||||
|
12307, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 31
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
73, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
35, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
57, // KS2 -> KS4 middle product threshold
|
||||||
|
16026, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 32
|
||||||
|
17, // KS1 -> KS2 multiplication threshold
|
||||||
|
56, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
14, // KS1 -> KS2 squaring threshold
|
||||||
|
40, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
56, // KS2 -> KS4 middle product threshold
|
||||||
|
8013, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 33
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
47, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
15, // KS1 -> KS2 squaring threshold
|
||||||
|
29, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
14, // KS1 -> KS2 middle product threshold
|
||||||
|
51, // KS2 -> KS4 middle product threshold
|
||||||
|
8560, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 34
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
47, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
15, // KS1 -> KS2 squaring threshold
|
||||||
|
27, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
17, // KS1 -> KS2 middle product threshold
|
||||||
|
47, // KS2 -> KS4 middle product threshold
|
||||||
|
6154, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 35
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
47, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
29, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
43, // KS2 -> KS4 middle product threshold
|
||||||
|
7022, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 36
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
36, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
29, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
43, // KS2 -> KS4 middle product threshold
|
||||||
|
6154, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 37
|
||||||
|
14, // KS1 -> KS2 multiplication threshold
|
||||||
|
36, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
25, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
14, // KS1 -> KS2 middle product threshold
|
||||||
|
47, // KS2 -> KS4 middle product threshold
|
||||||
|
7022, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 38
|
||||||
|
16, // KS1 -> KS2 multiplication threshold
|
||||||
|
30, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
13, // KS1 -> KS2 squaring threshold
|
||||||
|
25, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
14, // KS1 -> KS2 middle product threshold
|
||||||
|
43, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 39
|
||||||
|
15, // KS1 -> KS2 multiplication threshold
|
||||||
|
32, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
23, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
40, // KS2 -> KS4 middle product threshold
|
||||||
|
5393, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
11 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 40
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
32, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
23, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
38, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
12, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 41
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
25, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
21, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
33, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 42
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
27, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
23, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
33, // KS2 -> KS4 middle product threshold
|
||||||
|
4280, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 43
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
24, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
21, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
31, // KS2 -> KS4 middle product threshold
|
||||||
|
4726, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 44
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
33, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
18, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
33, // KS2 -> KS4 middle product threshold
|
||||||
|
4280, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 45
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
23, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
19, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
29, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 46
|
||||||
|
15, // KS1 -> KS2 multiplication threshold
|
||||||
|
25, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
13, // KS1 -> KS2 middle product threshold
|
||||||
|
31, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 47
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
23, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
12, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
29, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 48
|
||||||
|
13, // KS1 -> KS2 multiplication threshold
|
||||||
|
23, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
3877, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 49
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
16, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
3511, // KS4 -> FFT middle product threshold
|
||||||
|
11, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 50
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
17, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
27, // KS2 -> KS4 middle product threshold
|
||||||
|
3511, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 51
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
16, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
2363, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 52
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
21, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
10, // KS1 -> KS2 squaring threshold
|
||||||
|
16, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
24, // KS2 -> KS4 middle product threshold
|
||||||
|
2697, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 53
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
16, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
24, // KS2 -> KS4 middle product threshold
|
||||||
|
2140, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
10 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 54
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
16, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
2363, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 55
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
12, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
10, // KS1 -> KS2 middle product threshold
|
||||||
|
19, // KS2 -> KS4 middle product threshold
|
||||||
|
1939, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 56
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
8, // KS1 -> KS2 squaring threshold
|
||||||
|
13, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
19, // KS2 -> KS4 middle product threshold
|
||||||
|
2140, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 57
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
15, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
21, // KS2 -> KS4 middle product threshold
|
||||||
|
2071, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 58
|
||||||
|
12, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
9, // KS1 -> KS2 squaring threshold
|
||||||
|
12, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
12, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
2071, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 59
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
13, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
8, // KS1 -> KS2 middle product threshold
|
||||||
|
19, // KS2 -> KS4 middle product threshold
|
||||||
|
1756, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 60
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
16, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
13, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
8, // KS1 -> KS2 middle product threshold
|
||||||
|
17, // KS2 -> KS4 middle product threshold
|
||||||
|
1756, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 61
|
||||||
|
8, // KS1 -> KS2 multiplication threshold
|
||||||
|
12, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
12, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
8, // KS1 -> KS2 middle product threshold
|
||||||
|
19, // KS2 -> KS4 middle product threshold
|
||||||
|
1939, // KS4 -> FFT middle product threshold
|
||||||
|
9, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 62
|
||||||
|
10, // KS1 -> KS2 multiplication threshold
|
||||||
|
19, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
14, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
2697, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 63
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
25, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
19, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
23, // KS2 -> KS4 middle product threshold
|
||||||
|
2363, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
{ // bits = 64
|
||||||
|
9, // KS1 -> KS2 multiplication threshold
|
||||||
|
31, // KS2 -> KS4 multiplication threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT multiplication threshold
|
||||||
|
7, // KS1 -> KS2 squaring threshold
|
||||||
|
25, // KS2 -> KS4 squaring threshold
|
||||||
|
SIZE_MAX, // KS4 -> FFT squaring threshold
|
||||||
|
9, // KS1 -> KS2 middle product threshold
|
||||||
|
25, // KS2 -> KS4 middle product threshold
|
||||||
|
2697, // KS4 -> FFT middle product threshold
|
||||||
|
10, // nussbaumer multiplication threshold
|
||||||
|
9 // nussbaumer squaring threshold
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// end of file ****************************************************************
|
32
srcpkgs/zn_poly/template
Normal file
32
srcpkgs/zn_poly/template
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# Template file for 'zn_poly'
|
||||||
|
pkgname=zn_poly
|
||||||
|
version=0.9.2
|
||||||
|
revision=1
|
||||||
|
build_style=configure
|
||||||
|
configure_args="--prefix=\$(DESTDIR)/usr"
|
||||||
|
hostmakedepends="python3"
|
||||||
|
makedepends="gmp-devel"
|
||||||
|
short_desc="Library for polynomial arithmetic in Z/nZ[x], for unsigned long n"
|
||||||
|
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
|
||||||
|
license="GPL-2.0-only, GPL-3.0-only"
|
||||||
|
homepage="https://gitlab.com/sagemath/zn_poly"
|
||||||
|
distfiles="https://gitlab.com/sagemath/zn_poly/-/archive/${version}/zn_poly-${version}.tar.bz2"
|
||||||
|
checksum=29d88ce19939f53e920adf118d8cd6c8c9594bc8cb71a992a6137bd86f6fb7f5
|
||||||
|
|
||||||
|
CFLAGS=-fPIC
|
||||||
|
|
||||||
|
build_options="native_build"
|
||||||
|
|
||||||
|
if [ -z "$build_option_native_build" ]; then
|
||||||
|
configure_args+=" --disable-tuning"
|
||||||
|
fi
|
||||||
|
|
||||||
|
post_extract() {
|
||||||
|
cp -v ${FILESDIR}/tuning-${XBPS_WORDSIZE}.c tune/tuning.c
|
||||||
|
}
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
./configure ${configure_args} \
|
||||||
|
--cflags="$CFLAGS" --ldflags="$LDFLAGS" \
|
||||||
|
--cppflags="$CPPFLAGS" --cxxflags="$CXXFLAGS"
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue