[Gmp-commit] /var/hg/gmp: Extend FFT tables to 50M.

mercurial at gmplib.org mercurial at gmplib.org
Fri Jun 14 12:37:49 CEST 2013


details:   /var/hg/gmp/rev/9a3dc1851911
changeset: 15835:9a3dc1851911
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Fri Jun 14 12:37:44 2013 +0200
description:
Extend FFT tables to 50M.

diffstat:

 mpn/x86_64/coreisbr/gmp-mparam.h |  115 +++++++++++++++++++++++---------------
 1 files changed, 70 insertions(+), 45 deletions(-)

diffs (139 lines):

diff -r 2ebaf6611476 -r 9a3dc1851911 mpn/x86_64/coreisbr/gmp-mparam.h
--- a/mpn/x86_64/coreisbr/gmp-mparam.h	Tue Jun 11 07:55:59 2013 +0200
+++ b/mpn/x86_64/coreisbr/gmp-mparam.h	Fri Jun 14 12:37:44 2013 +0200
@@ -62,40 +62,53 @@
 #define MUL_FFT_MODF_THRESHOLD             595  /* k = 5 */
 #define MUL_FFT_TABLE3                                      \
   { {    595, 5}, {     19, 6}, {     10, 5}, {     21, 6}, \
-    {     11, 5}, {     23, 6}, {     25, 7}, {     25, 8}, \
-    {     13, 7}, {     28, 8}, {     15, 7}, {     32, 8}, \
-    {     17, 7}, {     35, 8}, {     21, 9}, {     11, 8}, \
-    {     27, 9}, {     15, 8}, {     35, 9}, {     19, 8}, \
-    {     39, 9}, {     23, 8}, {     47, 9}, {     27,10}, \
-    {     15, 9}, {     39,10}, {     23, 9}, {     51,11}, \
-    {     15,10}, {     31, 9}, {     67,10}, {     39, 9}, \
-    {     79,10}, {     47, 9}, {     95,10}, {     55,11}, \
-    {     31,10}, {     79,11}, {     47,10}, {     95,12}, \
-    {     31,11}, {     63,10}, {    135,11}, {     79,10}, \
-    {    167,11}, {     95,10}, {    191, 9}, {    383,11}, \
-    {    111,12}, {     63,11}, {    143, 9}, {    575,12}, \
-    {     95,10}, {    383,13}, {     63,12}, {    127,10}, \
-    {    575,12}, {    159,10}, {    639,11}, {    335,10}, \
-    {    671,11}, {    351,10}, {    703,12}, {    191,11}, \
-    {    383,10}, {    767,11}, {    415,10}, {    831,11}, \
-    {    447,13}, {    127,11}, {    543,10}, {   1087,11}, \
-    {    607,10}, {   1215, 9}, {   2431,11}, {    671,12}, \
-    {    351,11}, {    703,12}, {    383,11}, {    767,12}, \
-    {    415,11}, {    831,12}, {    447,11}, {    895,12}, \
-    {    479,14}, {    127,12}, {    511,11}, {   1023,12}, \
-    {    543,11}, {   1087,12}, {    607,11}, {   1215,13}, \
-    {    319,12}, {    735,13}, {    383,12}, {    831,13}, \
-    {    447,12}, {    959,13}, {    511,12}, {   1087,13}, \
-    {    575,12}, {   1215,13}, {   8192,14}, {  16384,15}, \
-    {  32768,16}, {  65536,17}, { 131072,18}, { 262144,19}, \
-    { 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \
-    {8388608,24} }
-#define MUL_FFT_TABLE3_SIZE 113
+    {     11, 5}, {     23, 6}, {     12, 5}, {     25, 6}, \
+    {     25, 7}, {     13, 6}, {     27, 7}, {     21, 8}, \
+    {     11, 7}, {     25, 8}, {     13, 7}, {     28, 8}, \
+    {     15, 7}, {     32, 8}, {     17, 7}, {     35, 8}, \
+    {     21, 9}, {     11, 8}, {     27, 9}, {     15, 8}, \
+    {     35, 9}, {     19, 8}, {     41, 9}, {     23, 8}, \
+    {     47, 9}, {     27,10}, {     15, 9}, {     39,10}, \
+    {     23, 9}, {     51,11}, {     15,10}, {     31, 9}, \
+    {     67,10}, {     39, 9}, {     79,10}, {     47, 9}, \
+    {     95,10}, {     55,11}, {     31,10}, {     79,11}, \
+    {     47,10}, {     95,12}, {     31,11}, {     63,10}, \
+    {    135,11}, {     79,10}, {    167,11}, {     95,10}, \
+    {    191, 9}, {    383,11}, {    111,12}, {     63,11}, \
+    {    127, 9}, {    511,11}, {    159,10}, {    319, 9}, \
+    {    639,12}, {     95,11}, {    191,10}, {    383,13}, \
+    {     63,12}, {    127,10}, {    543, 9}, {   1087,10}, \
+    {    575,12}, {    159,11}, {    319,10}, {    639,11}, \
+    {    335,10}, {    671,11}, {    351,10}, {    703,12}, \
+    {    191,11}, {    415,10}, {    831,11}, {    447,13}, \
+    {    127,11}, {    511,10}, {   1023,11}, {    607,10}, \
+    {   1215,12}, {    319,11}, {    671,12}, {    351,11}, \
+    {    735,12}, {    383,11}, {    767,12}, {    415,11}, \
+    {    831,12}, {    447,14}, {    127,12}, {    511,11}, \
+    {   1023,12}, {    543,11}, {   1087,12}, {    607,11}, \
+    {   1215,12}, {    671,11}, {   1343,12}, {    703,13}, \
+    {    383,12}, {    831,13}, {    447,12}, {    959,13}, \
+    {    511,12}, {   1087,13}, {    575,12}, {   1215,13}, \
+    {    639,12}, {   1343,13}, {    703,14}, {    383,13}, \
+    {    767,12}, {   1535,13}, {    831,12}, {   1663,13}, \
+    {    959,14}, {    511,13}, {   1087,12}, {   2175,13}, \
+    {   1215,14}, {    639,13}, {   1343,12}, {   2687,13}, \
+    {   1471,14}, {    767,13}, {   1599,12}, {   3199,13}, \
+    {   1663,14}, {    895,15}, {    511,14}, {   1023,13}, \
+    {   2175,14}, {   1151,13}, {   2431,12}, {   4863,14}, \
+    {   1279,13}, {   2687,14}, {   1407,13}, {   2815,15}, \
+    {    767,14}, {   1535,13}, {   3199,14}, {   1663,13}, \
+    {   3455,12}, {   6911,14}, {   1791,16}, {    511,15}, \
+    {   1023,14}, {   2431,13}, {   4863,15}, {   1279,14}, \
+    {   2943,13}, {   5887,15}, {  32768,16}, {  65536,17}, \
+    { 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
+    {2097152,22}, {4194304,23}, {8388608,24} }
+#define MUL_FFT_TABLE3_SIZE 167
 #define MUL_FFT_THRESHOLD                 5760
 
-#define SQR_FFT_MODF_THRESHOLD             565  /* k = 5 */
+#define SQR_FFT_MODF_THRESHOLD             570  /* k = 5 */
 #define SQR_FFT_TABLE3                                      \
-  { {    565, 5}, {     19, 6}, {     10, 5}, {     21, 6}, \
+  { {    570, 5}, {     19, 6}, {     10, 5}, {     21, 6}, \
     {     25, 7}, {     25, 8}, {     13, 7}, {     28, 8}, \
     {     15, 7}, {     31, 8}, {     17, 7}, {     35, 8}, \
     {     21, 9}, {     11, 8}, {     27, 9}, {     15, 8}, \
@@ -106,24 +119,36 @@
     {     31,10}, {     79,11}, {     47,10}, {     95,12}, \
     {     31,11}, {     63,10}, {    135,11}, {     79, 9}, \
     {    319,11}, {     95, 9}, {    383,12}, {     63,11}, \
-    {    127, 9}, {    543,11}, {    143, 9}, {    575,10}, \
-    {    303, 9}, {    607,10}, {    319,12}, {     95,11}, \
-    {    191,13}, {     63,12}, {    127,10}, {    511, 9}, \
-    {   1023,10}, {    543,11}, {    287,10}, {    575,11}, \
-    {    303,10}, {    639,11}, {    335,10}, {    703,11}, \
-    {    383,10}, {    767,11}, {    415,10}, {    831,11}, \
-    {    479,13}, {    127,11}, {    511,10}, {   1023,11}, \
-    {    575,10}, {   1151,11}, {    607,12}, {    319,11}, \
-    {    671,12}, {    351,11}, {    703,12}, {    383,11}, \
-    {    767,12}, {    415,11}, {    831,12}, {    447,11}, \
-    {    895,12}, {    479,14}, {    127,12}, {    511,11}, \
-    {   1023,12}, {    607,13}, {    319,12}, {    703,13}, \
+    {    127, 9}, {    543,11}, {    143,10}, {    287, 9}, \
+    {    575, 8}, {   1151,10}, {    303, 7}, {   2431,10}, \
+    {    319, 9}, {    639,12}, {     95,10}, {    383,13}, \
+    {     63,12}, {    127,10}, {    543,11}, {    287,10}, \
+    {    607,11}, {    319,10}, {    671,11}, {    351,10}, \
+    {    703,11}, {    383,10}, {    767,11}, {    415, 9}, \
+    {   1663,11}, {    447,10}, {    895,11}, {    479,13}, \
+    {    127,11}, {    543,12}, {    287,11}, {    607,10}, \
+    {   1215,12}, {    319,11}, {    671,12}, {    351,11}, \
+    {    703,12}, {    383,11}, {    767,12}, {    415,11}, \
+    {    831,12}, {    447,11}, {    895,12}, {    479,14}, \
+    {    127,12}, {    607,13}, {    319,12}, {    735,13}, \
     {    383,12}, {    831,13}, {    447,12}, {    895,13}, \
     {    511,12}, {   1023,13}, {    575,12}, {   1151,13}, \
-    {   8192,14}, {  16384,15}, {  32768,16}, {  65536,17}, \
+    {    639,12}, {   1279,13}, {    703,14}, {    383,13}, \
+    {    767,12}, {   1535,13}, {    831,12}, {   1663,13}, \
+    {    895,14}, {    511,13}, {   1087,12}, {   2175,13}, \
+    {   1151,14}, {    639,13}, {   1343,12}, {   2687,13}, \
+    {   1407,12}, {   2815,13}, {   1471,14}, {    767,13}, \
+    {   1599,12}, {   3199,13}, {   1663,14}, {    895,15}, \
+    {    511,14}, {   1023,13}, {   2175,14}, {   1151,13}, \
+    {   2431,12}, {   4863,14}, {   1279,13}, {   2687,14}, \
+    {   1407,13}, {   2815,15}, {    767,14}, {   1535,13}, \
+    {   3071,14}, {   1663,13}, {   3455,12}, {   6911,14}, \
+    {   1791,16}, {    511,15}, {   1023,14}, {   2175,13}, \
+    {   4479,14}, {   2431,13}, {   4863,15}, {   1279,14}, \
+    {   2943,13}, {   5887,15}, {  32768,16}, {  65536,17}, \
     { 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
     {2097152,22}, {4194304,23}, {8388608,24} }
-#define SQR_FFT_TABLE3_SIZE 111
+#define SQR_FFT_TABLE3_SIZE 159
 #define SQR_FFT_THRESHOLD                 4736
 
 #define MULLO_BASECASE_THRESHOLD             0  /* always */


More information about the gmp-commit mailing list