diff options
author | Torbjorn Granlund <tege@gmplib.org> | 2010-01-07 23:46:26 +0100 |
---|---|---|
committer | Torbjorn Granlund <tege@gmplib.org> | 2010-01-07 23:46:26 +0100 |
commit | 8d6603e2228055c0a48dfbef65e421ee6124e1a2 (patch) | |
tree | acd80b184bd2341b4732a513f336c378f702869f | |
parent | f23a198e66036d5ee726e82e1bf2521dfcb71640 (diff) | |
download | gmp-8d6603e2228055c0a48dfbef65e421ee6124e1a2.tar.gz |
Update MUL_FFT_TABLE2 and SQR_FFT_TABLE2 for many machines.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | mpn/alpha/ev6/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/ia64/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/powerpc64/mode64/p4/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/sparc64/ultrasparc34/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/x86/k7/gmp-mparam.h | 6 | ||||
-rw-r--r-- | mpn/x86/p6/sse2/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/x86/pentium4/sse2/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/x86_64/atom/gmp-mparam.h | 6 | ||||
-rw-r--r-- | mpn/x86_64/core2/gmp-mparam.h | 4 | ||||
-rw-r--r-- | mpn/x86_64/corei/gmp-mparam.h | 6 | ||||
-rw-r--r-- | mpn/x86_64/gmp-mparam.h | 8 | ||||
-rw-r--r-- | mpn/x86_64/nano/gmp-mparam.h | 4 |
13 files changed, 42 insertions, 18 deletions
@@ -2,6 +2,8 @@ * Version 5.0.0 released. + * Update MUL_FFT_TABLE2 and SQR_FFT_TABLE2 for many machines. + * mpn/generic/mu_div_q.c: Account for divisor truncation error as well as mpn_mu_divappr_q's error. diff --git a/mpn/alpha/ev6/gmp-mparam.h b/mpn/alpha/ev6/gmp-mparam.h index e9f007403..4e3051702 100644 --- a/mpn/alpha/ev6/gmp-mparam.h +++ b/mpn/alpha/ev6/gmp-mparam.h @@ -101,3 +101,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 19 #define SET_STR_DC_THRESHOLD 3754 #define SET_STR_PRECOMPUTE_THRESHOLD 8097 + +#define MUL_FFT_TABLE2 {{1,4}, {273,5}, {609,6}, {1729,7}, {4097,8}, {8961,9}, {11777,8}, {12545,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {26113,10}, {31745,9}, {35841,10}, {39937,9}, {42497,10}, {48129,9}, {50689,10}, {56321,11}, {63489,10}, {80897,11}, {96257,10}, {105473,12}, {126977,11}, {129025,10}, {143361,11}, {161793,10}, {171009,11}, {227329,12}, {258049,11}, {292865,10}, {310273,11}, {326657,12}, {389121,11}, {391169,10}, {394241,11}, {397313,10}, {408577,11}, {423937,13}, {516097,12}, {520193,11}, {620545,12}, {651265,11}, {751617,12}, {782337,11}, {915457,13}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {305,5}, {801,6}, {1729,7}, {3713,8}, {3841,7}, {4097,8}, {10497,9}, {11777,8}, {12545,9}, {20481,10}, {23553,9}, {26113,11}, {30721,10}, {31745,9}, {34305,10}, {48641,9}, {50177,10}, {56321,11}, {63489,10}, {80897,11}, {96257,10}, {105473,12}, {126977,11}, {129025,10}, {140289,11}, {227329,12}, {258049,11}, {260097,10}, {261121,11}, {266241,10}, {275457,11}, {292865,10}, {310785,11}, {325633,10}, {326657,12}, {389121,11}, {391169,10}, {408577,11}, {409601,13}, {516097,12}, {520193,11}, {621569,12}, {651265,11}, {751617,12}, {913409,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/ia64/gmp-mparam.h b/mpn/ia64/gmp-mparam.h index c418164df..de7fc8096 100644 --- a/mpn/ia64/gmp-mparam.h +++ b/mpn/ia64/gmp-mparam.h @@ -97,3 +97,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 21 #define SET_STR_DC_THRESHOLD 1240 #define SET_STR_PRECOMPUTE_THRESHOLD 3566 + +#define MUL_FFT_TABLE2 {{1,4}, {401,5}, {993,6}, {2113,7}, {5249,8}, {11009,9}, {11777,8}, {13057,9}, {22017,10}, {23553,9}, {28161,10}, {31745,9}, {36353,10}, {39937,9}, {42497,10}, {48129,9}, {50689,10}, {56321,11}, {63489,10}, {89089,11}, {96257,10}, {113665,12}, {126977,11}, {129025,10}, {146433,11}, {161793,10}, {171009,11}, {194561,10}, {203777,11}, {227329,12}, {258049,11}, {326657,12}, {339969,11}, {350209,12}, {389121,11}, {423937,13}, {425985,11}, {450561,13}, {516097,12}, {520193,11}, {589825,12}, {651265,11}, {686081,12}, {784385,11}, {786433,12}, {796673,11}, {813057,12}, {827393,11}, {839681,12}, {905217,13}, {1040385,12}, {1044481,11}, {1046529,12}, {1050625,11}, {1052673,12}, {1060865,11}, {1071105,12}, {1095681,11}, {1101825,12}, {1220609,10}, {1224705,11}, {1233921,10}, {1236993,12}, {1308673,10}, {1309697,12}, {1318913,13}, {1343489,11}, {1351681,12}, {1388545,13}, {1564673,12}, {1577985,11}, {1581057,12}, {1699841,11}, {1701889,10}, {1708033,11}, {1717249,12}, {1720321,14}, {2080769,13}, {2088961,12}, {2357249,13}, {2613249,12}, {2879489,13}, {2883585,11}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {529,5}, {1121,6}, {2305,7}, {5249,8}, {11009,9}, {11777,8}, {12545,9}, {22017,10}, {23553,9}, {28161,10}, {31745,9}, {35329,10}, {39937,9}, {42497,10}, {48641,9}, {50177,10}, {56321,11}, {63489,10}, {66561,9}, {67585,10}, {80897,11}, {96257,10}, {106497,12}, {126977,11}, {129025,10}, {139265,11}, {141313,10}, {143361,11}, {161793,10}, {167937,11}, {194561,10}, {204801,11}, {229377,12}, {258049,11}, {327681,12}, {389121,11}, {442369,13}, {516097,12}, {520193,11}, {529409,10}, {536577,11}, {538625,10}, {540161,11}, {548865,12}, {563201,11}, {573441,12}, {577537,11}, {583681,12}, {651265,11}, {658945,9}, {659457,10}, {660993,9}, {662017,11}, {663553,9}, {665089,10}, {668161,11}, {688129,12}, {704513,11}, {706561,10}, {707585,12}, {782337,11}, {794625,9}, {796673,11}, {823297,12}, {827393,11}, {843777,9}, {845825,11}, {849921,12}, {913409,13}, {1040385,12}, {1044481,11}, {1079297,12}, {1099777,11}, {1101825,12}, {1175553,11}, {1210369,12}, {1306625,11}, {1308673,10}, {1309697,11}, {1331201,10}, {1333249,11}, {1366017,13}, {1564673,12}, {1568769,11}, {1587201,12}, {1589249,11}, {1636353,12}, {1701889,14}, {2080769,13}, {2088961,12}, {2355201,11}, {2367489,13}, {2383873,11}, {2430977,12}, {2441217,13}, {2459649,11}, {2461697,13}, {2465793,11}, {2467841,12}, {2473985,13}, {2613249,12}, {2676737,11}, {2678785,12}, {2879489,11}, {2906113,12}, {2916353,11}, {2949121,10}, {2951169,11}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/powerpc64/mode64/p4/gmp-mparam.h b/mpn/powerpc64/mode64/p4/gmp-mparam.h index 4be740042..2fe57ae34 100644 --- a/mpn/powerpc64/mode64/p4/gmp-mparam.h +++ b/mpn/powerpc64/mode64/p4/gmp-mparam.h @@ -93,3 +93,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 24 #define SET_STR_DC_THRESHOLD 532 #define SET_STR_PRECOMPUTE_THRESHOLD 1790 + +#define MUL_FFT_TABLE2 {{1,4}, {209,5}, {609,6}, {1345,7}, {3457,8}, {6913,9}, {7681,8}, {8961,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {35329,10}, {39937,9}, {42497,10}, {48641,9}, {50689,10}, {56321,11}, {63489,10}, {80897,11}, {96257,10}, {105473,12}, {126977,11}, {129025,10}, {139009,11}, {142337,10}, {145409,11}, {161793,10}, {171009,11}, {194561,10}, {212481,11}, {227329,12}, {258049,11}, {261121,9}, {278017,11}, {292865,10}, {293889,9}, {310785,10}, {326657,9}, {327425,10}, {331265,9}, {336897,10}, {337921,9}, {343553,10}, {359425,12}, {389121,11}, {424961,13}, {516097,12}, {520193,11}, {522241,10}, {556545,11}, {587777,10}, {621569,11}, {653313,10}, {687105,11}, {719873,12}, {782337,11}, {851457,12}, {913409,11}, {980993,13}, {1040385,12}, {1044481,11}, {1113089,12}, {1175553,11}, {1243137,12}, {1306625,11}, {1374209,12}, {1440769,13}, {1564673,12}, {1961985,14}, {2080769,13}, {2088961,12}, {2488321,13}, {2613249,12}, {2881537,13}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {209,5}, {609,6}, {1345,7}, {3073,8}, {6913,9}, {7681,8}, {8449,9}, {9729,8}, {10241,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {26113,11}, {30721,10}, {31745,9}, {34305,10}, {56321,11}, {63489,10}, {80897,11}, {96257,10}, {102401,12}, {126977,11}, {129025,10}, {130049,9}, {139009,11}, {161793,10}, {179713,11}, {194561,10}, {212481,12}, {258049,11}, {260097,10}, {278273,11}, {359425,12}, {389121,11}, {457729,13}, {516097,12}, {520193,11}, {589313,12}, {651265,11}, {718849,12}, {782337,11}, {850945,12}, {913409,11}, {982017,13}, {983041,12}, {999425,13}, {1024001,12}, {1028097,13}, {1040385,12}, {1044481,11}, {1113089,12}, {1175553,11}, {1244161,12}, {1437697,13}, {1564673,12}, {1965057,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/sparc64/ultrasparc34/gmp-mparam.h b/mpn/sparc64/ultrasparc34/gmp-mparam.h index ab6859131..5e31f566a 100644 --- a/mpn/sparc64/ultrasparc34/gmp-mparam.h +++ b/mpn/sparc64/ultrasparc34/gmp-mparam.h @@ -99,3 +99,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 27 #define SET_STR_DC_THRESHOLD 315 #define SET_STR_PRECOMPUTE_THRESHOLD 1037 + +#define MUL_FFT_TABLE2 {{1,4}, {177,5}, {417,6}, {1089,7}, {2561,8}, {4865,9}, {5633,8}, {6401,10}, {7169,9}, {7681,8}, {8449,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {31745,9}, {34305,10}, {39937,9}, {42497,10}, {56321,11}, {63489,10}, {81921,11}, {96257,10}, {106241,12}, {126977,11}, {129025,10}, {146945,11}, {161793,10}, {179713,11}, {180737,9}, {181249,10}, {182273,11}, {194561,10}, {212993,11}, {228353,12}, {258049,11}, {359425,12}, {389121,11}, {456705,13}, {516097,12}, {520193,11}, {588801,12}, {651265,11}, {714753,12}, {782337,11}, {850945,12}, {913409,11}, {915457,13}, {1040385,12}, {1439745,13}, {1564673,12}, {1830913,14}, {1884161,12}, {1900545,14}, {1921025,12}, {1961985,14}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {241,5}, {481,6}, {1217,7}, {2561,8}, {6401,9}, {11777,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {56321,11}, {63489,10}, {81665,11}, {96257,10}, {105473,9}, {114433,11}, {114689,12}, {126977,11}, {129025,10}, {130049,9}, {139009,10}, {146945,11}, {161793,10}, {179969,11}, {194561,10}, {228865,12}, {258049,11}, {260097,10}, {278017,11}, {458753,13}, {516097,12}, {520193,11}, {587777,10}, {589313,12}, {651265,11}, {719873,12}, {782337,11}, {850945,12}, {913409,11}, {982017,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86/k7/gmp-mparam.h b/mpn/x86/k7/gmp-mparam.h index 4a6b576aa..4aea464cd 100644 --- a/mpn/x86/k7/gmp-mparam.h +++ b/mpn/x86/k7/gmp-mparam.h @@ -95,8 +95,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define SET_STR_DC_THRESHOLD 542 #define SET_STR_PRECOMPUTE_THRESHOLD 1615 -/* These tables need to be updated. */ +#define MUL_FFT_TABLE2 {{1,4}, {337,5}, {801,6}, {1601,7}, {3457,8}, {3841,7}, {4481,8}, {10113,9}, {11777,8}, {13057,9}, {15873,8}, {18177,9}, {28161,10}, {31745,9}, {40449,10}, {48129,9}, {52737,11}, {63489,10}, {64513,9}, {71681,10}, {73729,9}, {74241,10}, {80897,9}, {84481,10}, {84993,9}, {85505,10}, {97281,9}, {97793,10}, {98817,9}, {102401,10}, {113665,11}, {129025,10}, {130049,9}, {130561,10}, {163329,11}, {168961,10}, {169985,11}, {194561,10}, {195585,9}, {196097,10}, {199681,12}, {201729,10}, {208897,12}, {258049,11}, {260097,10}, {290817,11}, {326657,9}, {328193,8}, {328705,9}, {329729,10}, {331265,8}, {331521,9}, {336897,10}, {337921,11}, {391169,10}, {392193,9}, {392705,8}, {392961,9}, {393217,10}, {394241,9}, {396801,10}, {397313,11}, {399361,9}, {403457,10}, {405505,11}, {456705,12}, {520193,11}, {523265,9}, {524289,11}, {526337,9}, {539649,10}, {555009,9}, {556545,11}, {587777,10}, {622337,11}, {653313,10}, {686081,9}, {693761,11}, {694273,12}, {782337,11}, {784385,10}, {818177,9}, {818689,11}, {849921,9}, {851457,10}, {916481,11}, {917505,13}, {1040385,12}, {1044481,11}, {1112065,10}, {1145857,11}, {1243137,10}, {1244673,12}, {1306625,11}, {1339393,10}, {1341441,11}, {1370113,10}, {1440769,11}, {1443841,10}, {1445889,11}, {1467393,10}, {1472513,11}, {1481729,10}, {1489921,11}, {1501185,10}, {1503233,11}, {1505281,10}, {1506817,12}, {1568769,11}, {1636353,10}, {1643521,11}, {1650689,10}, {1662977,11}, {1668097,10}, {1677313,11}, {1681409,10}, {1683457,11}, {1687553,10}, {1702913,11}, {1965057,13}, {MP_SIZE_T_MAX, 0}} -#define MUL_FFT_TABLE2 {{1, 4}, {401, 5}, {801, 6}, {817, 5}, {865, 6}, {1025, 5}, {1057, 6}, {1601, 7}, {1633, 6}, {1729, 7}, {1921, 6}, {2113, 7}, {2177, 6}, {2241, 7}, {2433, 6}, {2497, 7}, {2945, 6}, {3009, 7}, {3457, 8}, {3521, 7}, {4481, 8}, {4865, 7}, {5249, 8}, {5889, 7}, {6017, 8}, {7553, 9}, {7681, 8}, {9985, 9}, {11777, 8}, {13057, 9}, {13825, 8}, {14081, 9}, {15873, 8}, {16641, 9}, {16897, 8}, {17153, 9}, {19969, 8}, {20225, 9}, {20737, 8}, {20993, 9}, {24065, 8}, {24577, 9}, {25089, 8}, {25345, 9}, {27393, 10}, {27649, 9}, {28161, 10}, {31745, 9}, {38913, 10}, {39425, 9}, {40449, 10}, {48129, 9}, {48641, 11}, {63489, 10}, {98305, 11}, {99329, 10}, {100353, 11}, {101377, 10}, {103425, 11}, {104449, 10}, {110593, 11}, {112641, 10}, {113665, 11}, {129025, 10}, {162817, 11}, {194561, 10}, {195585, 12}, {258049, 11}, {391169, 12}, {520193, 11}, {718849, 12}, {782337, 11}, {849921, 13}, {1040385, 12}, {2879489, 13}, {3137537, 12}, {3928065, 13}, {4186113, 12}, {4976641, 13}, {5234689, 12}, {6025217, 13}, {6283265, 12}, {MP_SIZE_T_MAX,0}} - -#define SQR_FFT_TABLE2 {{1, 4}, {401, 5}, {417, 4}, {433, 5}, {881, 6}, {961, 5}, {993, 6}, {1857, 7}, {1921, 6}, {2049, 7}, {2177, 6}, {2241, 7}, {2433, 6}, {2497, 7}, {3457, 8}, {3841, 7}, {4481, 8}, {4609, 7}, {4737, 8}, {4865, 7}, {5249, 8}, {5889, 7}, {6273, 8}, {7041, 9}, {7681, 8}, {9985, 9}, {10241, 8}, {10497, 9}, {11777, 8}, {13057, 9}, {15873, 8}, {16385, 9}, {16897, 8}, {17153, 9}, {19969, 8}, {20225, 9}, {20737, 8}, {20993, 9}, {24065, 8}, {24321, 9}, {24577, 10}, {24833, 9}, {25601, 10}, {27137, 9}, {27649, 10}, {31745, 9}, {38401, 10}, {38913, 9}, {40449, 10}, {48129, 9}, {48641, 11}, {63489, 10}, {99329, 11}, {101377, 10}, {103425, 11}, {104449, 10}, {107521, 11}, {110593, 10}, {113665, 11}, {129025, 10}, {154625, 11}, {155649, 10}, {162817, 11}, {194561, 12}, {258049, 11}, {391169, 12}, {520193, 11}, {718849, 12}, {727041, 11}, {729089, 12}, {782337, 11}, {849921, 13}, {1040385, 12}, {2879489, 13}, {3137537, 12}, {3928065, 13}, {4186113, 12}, {4714497, 13}, {5234689, 12}, {6025217, 13}, {6283265, 12}, {7073793, 13}, {7331841, 12}, {MP_SIZE_T_MAX,0}} +#define SQR_FFT_TABLE2 {{1,4}, {369,5}, {673,6}, {1601,7}, {3457,8}, {3841,7}, {4481,8}, {9985,9}, {11777,8}, {13057,9}, {15873,8}, {17153,9}, {24321,10}, {31745,9}, {40449,10}, {48129,9}, {48641,11}, {63489,10}, {64513,9}, {69121,8}, {69377,9}, {73217,10}, {100353,11}, {102401,10}, {113665,11}, {129025,10}, {163329,11}, {194561,10}, {196609,12}, {258049,11}, {260097,10}, {263681,9}, {264193,10}, {290817,11}, {325633,10}, {326657,8}, {327169,9}, {333825,10}, {334849,9}, {340993,8}, {342017,9}, {343553,11}, {391169,9}, {393217,8}, {393473,10}, {394241,8}, {394497,9}, {395521,8}, {395777,9}, {396289,10}, {397313,9}, {398337,8}, {399873,9}, {404481,10}, {407553,9}, {409089,11}, {450561,12}, {520193,11}, {522241,10}, {523265,9}, {523777,10}, {556033,9}, {556545,11}, {587777,10}, {622337,11}, {649217,10}, {687105,9}, {711169,10}, {711681,12}, {782337,11}, {784385,10}, {821249,11}, {827393,10}, {829441,11}, {837633,10}, {883713,9}, {884225,11}, {884737,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86/p6/sse2/gmp-mparam.h b/mpn/x86/p6/sse2/gmp-mparam.h index da1107d51..c8a07be7a 100644 --- a/mpn/x86/p6/sse2/gmp-mparam.h +++ b/mpn/x86/p6/sse2/gmp-mparam.h @@ -102,3 +102,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 22 #define SET_STR_DC_THRESHOLD 587 #define SET_STR_PRECOMPUTE_THRESHOLD 983 + +#define MUL_FFT_TABLE2 {{1,4}, {337,5}, {801,6}, {1601,7}, {3457,8}, {3841,7}, {4481,8}, {4865,7}, {5249,8}, {6913,9}, {7681,8}, {9985,9}, {11777,8}, {13057,10}, {16897,8}, {22273,9}, {28417,10}, {30721,9}, {40961,10}, {48641,9}, {49153,11}, {63489,10}, {64513,9}, {72705,10}, {112641,11}, {129025,10}, {162817,11}, {194561,10}, {196609,12}, {258049,11}, {260097,10}, {278529,11}, {392705,9}, {395265,10}, {407553,11}, {452609,12}, {520193,11}, {522241,10}, {556545,11}, {587777,10}, {622081,11}, {653313,10}, {687105,12}, {782337,11}, {784385,10}, {818177,11}, {819201,13}, {1040385,12}, {1044481,11}, {1244161,12}, {1306625,11}, {1506305,12}, {1568769,11}, {1701889,10}, {1704961,12}, {1830913,11}, {1964033,13}, {2088961,12}, {2093057,11}, {2226177,12}, {2355201,11}, {2488321,12}, {2617345,11}, {2750465,12}, {2879489,11}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {337,5}, {801,6}, {1601,7}, {3457,8}, {3841,7}, {4481,8}, {4865,7}, {5249,8}, {5889,7}, {6273,8}, {6913,9}, {7681,8}, {9985,9}, {11777,8}, {13057,10}, {16641,8}, {17153,9}, {20993,7}, {25985,8}, {29697,9}, {40449,10}, {48129,9}, {49153,11}, {63489,10}, {64513,9}, {72705,10}, {97281,11}, {129025,10}, {162817,11}, {194561,10}, {195585,12}, {258049,11}, {260097,10}, {262145,9}, {264705,10}, {265729,9}, {267265,10}, {268289,9}, {269313,10}, {272897,9}, {278273,11}, {325633,10}, {359425,9}, {359937,11}, {391169,10}, {413697,11}, {456705,12}, {520193,11}, {522241,10}, {577537,11}, {581633,10}, {583681,11}, {585729,10}, {622081,11}, {653313,10}, {687617,11}, {718849,10}, {720897,12}, {782337,11}, {784385,10}, {818689,11}, {850945,13}, {1040385,12}, {1044481,11}, {1244161,12}, {1306625,11}, {1506305,12}, {1568769,11}, {1701889,10}, {1703937,12}, {1830913,11}, {1965057,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86/pentium4/sse2/gmp-mparam.h b/mpn/x86/pentium4/sse2/gmp-mparam.h index 885398808..469978ed4 100644 --- a/mpn/x86/pentium4/sse2/gmp-mparam.h +++ b/mpn/x86/pentium4/sse2/gmp-mparam.h @@ -94,3 +94,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 28 #define SET_STR_DC_THRESHOLD 123 #define SET_STR_PRECOMPUTE_THRESHOLD 1265 + +#define MUL_FFT_TABLE2 {{1,4}, {529,5}, {1025,6}, {1217,5}, {1249,6}, {2113,7}, {2177,6}, {2241,7}, {2433,6}, {2625,7}, {5505,8}, {5889,7}, {6529,8}, {11009,9}, {11777,8}, {14081,9}, {15873,8}, {17409,9}, {28161,10}, {31745,9}, {40449,10}, {48129,9}, {52737,11}, {63489,9}, {69121,10}, {113665,11}, {129025,10}, {165889,11}, {194561,10}, {195585,12}, {258049,11}, {260097,10}, {278529,11}, {331777,10}, {343041,11}, {392705,12}, {393217,11}, {415745,12}, {417793,11}, {452609,12}, {520193,11}, {589825,10}, {620545,11}, {653313,10}, {654337,12}, {782337,11}, {784385,10}, {818177,11}, {819201,13}, {1040385,12}, {1044481,11}, {1208321,12}, {1220609,11}, {1222657,12}, {1228801,11}, {1243137,12}, {1306625,11}, {1374209,10}, {1440769,11}, {1506305,12}, {1568769,11}, {1768449,12}, {1830913,13}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {529,5}, {1057,6}, {1729,7}, {1921,6}, {2113,7}, {2177,6}, {2241,7}, {2433,6}, {2625,7}, {5249,8}, {5889,7}, {6273,8}, {11009,9}, {11777,8}, {14081,9}, {15873,8}, {18177,9}, {28161,10}, {31745,9}, {40449,10}, {48129,9}, {52737,11}, {63489,10}, {97793,11}, {129025,10}, {160769,11}, {194561,10}, {195585,12}, {258049,11}, {261121,10}, {274433,11}, {327681,9}, {328193,11}, {333825,10}, {338945,11}, {391169,9}, {396289,11}, {397313,9}, {407553,11}, {413697,12}, {520193,11}, {523265,10}, {542721,11}, {548865,10}, {556033,11}, {587777,10}, {622081,11}, {653313,10}, {654337,12}, {782337,11}, {784385,10}, {834561,11}, {835585,13}, {1040385,12}, {1044481,11}, {1244161,12}, {1306625,11}, {1374209,10}, {1439745,11}, {1506817,12}, {1568769,11}, {1768449,12}, {1830913,11}, {1964033,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86_64/atom/gmp-mparam.h b/mpn/x86_64/atom/gmp-mparam.h index ca42e0426..037e7245e 100644 --- a/mpn/x86_64/atom/gmp-mparam.h +++ b/mpn/x86_64/atom/gmp-mparam.h @@ -95,8 +95,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define SET_STR_DC_THRESHOLD 254 #define SET_STR_PRECOMPUTE_THRESHOLD 1122 -/* These tables need to be updated. */ +#define MUL_FFT_TABLE2 {{1,4}, {177,5}, {353,6}, {833,7}, {2177,8}, {4865,9}, {5633,8}, {6401,10}, {7169,9}, {11777,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {48129,11}, {63489,10}, {80897,11}, {96257,10}, {97281,9}, {114177,11}, {114689,12}, {126977,11}, {129025,10}, {146945,11}, {161793,10}, {179969,11}, {194561,10}, {228353,12}, {258049,11}, {359937,12}, {389121,11}, {456705,13}, {516097,12}, {520193,11}, {588801,12}, {651265,11}, {719873,12}, {782337,11}, {849921,12}, {913409,11}, {980993,13}, {1040385,12}, {1439745,13}, {1564673,12}, {1961985,13}, {MP_SIZE_T_MAX, 0}} -#define MUL_FFT_TABLE2 {{1,4}, {209,5}, {417,6}, {961,7}, {2177,8}, {4865,9}, {5633,8}, {6401,9}, {7681,8}, {8449,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {48129,11}, {63489,10}, {81409,11}, {96257,9}, {106497,10}, {107521,12}, {126977,11}, {129025,10}, {130049,9}, {130561,10}, {140289,9}, {140801,10}, {147201,11}, {161793,10}, {212481,11}, {228865,12}, {258049,11}, {457729,13}, {516097,12}, {520193,11}, {588801,12}, {651265,11}, {719873,12}, {782337,11}, {849921,12}, {916481,13}, {1040385,12}, {1439745,13}, {1564673,12}, {1830913,11}, {1832961,13}, {1835009,14}, {MP_SIZE_T_MAX, 0}} - -#define SQR_FFT_TABLE2 {{1,4}, {177,5}, {353,6}, {833,7}, {2177,8}, {4865,9}, {5633,8}, {6401,10}, {7169,9}, {11777,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {48129,11}, {63489,10}, {65537,9}, {73217,8}, {73601,9}, {80129,10}, {80897,9}, {81665,11}, {96257,9}, {97793,8}, {98817,10}, {99329,12}, {126977,10}, {130049,9}, {131073,10}, {143361,9}, {144385,10}, {151041,9}, {151553,10}, {154113,9}, {154625,10}, {157697,9}, {159745,10}, {195585,9}, {196609,11}, {206849,10}, {207873,11}, {220161,10}, {222209,11}, {228865,12}, {258049,11}, {272385,10}, {274433,11}, {276481,10}, {277505,11}, {280577,10}, {282625,11}, {391169,10}, {397313,11}, {401409,10}, {423937,11}, {457729,13}, {516097,12}, {520193,11}, {588801,12}, {651265,11}, {718849,12}, {782337,11}, {845825,12}, {915457,13}, {1040385,12}, {1437697,13}, {1564673,12}, {1830913,14}, {MP_SIZE_T_MAX, 0}} +#define SQR_FFT_TABLE2 {{1,4}, {177,5}, {353,6}, {833,7}, {2177,8}, {4865,9}, {5633,8}, {6401,10}, {7169,9}, {11777,10}, {15361,9}, {19969,10}, {23553,9}, {24065,11}, {30721,10}, {48129,11}, {63489,10}, {72705,9}, {81665,11}, {96257,9}, {97793,8}, {105473,10}, {106497,12}, {126977,11}, {129025,10}, {195585,9}, {212481,11}, {228353,12}, {258049,11}, {391169,10}, {424961,11}, {457729,13}, {516097,12}, {520193,11}, {588801,12}, {651265,11}, {719873,12}, {782337,11}, {849921,12}, {916481,13}, {1040385,12}, {1439745,13}, {1564673,12}, {1830913,14}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86_64/core2/gmp-mparam.h b/mpn/x86_64/core2/gmp-mparam.h index 3d6b73cf7..5ec334b78 100644 --- a/mpn/x86_64/core2/gmp-mparam.h +++ b/mpn/x86_64/core2/gmp-mparam.h @@ -96,3 +96,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 20 #define SET_STR_DC_THRESHOLD 552 #define SET_STR_PRECOMPUTE_THRESHOLD 1790 + +#define MUL_FFT_TABLE2 {{1,4}, {273,5}, {545,6}, {1345,7}, {3201,8}, {6913,9}, {7681,8}, {8961,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {34305,10}, {56321,11}, {61441,10}, {80897,11}, {96257,12}, {104449,10}, {105985,12}, {126977,11}, {129025,10}, {141313,11}, {163841,10}, {165889,11}, {194561,10}, {204801,11}, {227329,12}, {258049,11}, {261633,10}, {274433,11}, {292865,10}, {296961,11}, {299009,10}, {308225,11}, {326657,12}, {389121,11}, {424961,13}, {516097,12}, {520193,11}, {620545,12}, {651265,11}, {752641,12}, {782337,11}, {849921,12}, {913409,11}, {937985,13}, {944129,11}, {980993,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1306625,11}, {1374209,12}, {1437697,11}, {1447937,13}, {1564673,12}, {1961985,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {3012609,13}, {3137537,12}, {3403777,13}, {3661825,12}, {3928065,14}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {273,5}, {545,6}, {1345,7}, {3201,8}, {3329,7}, {3457,8}, {6913,9}, {7681,8}, {8961,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {48129,11}, {63489,10}, {80897,11}, {96257,10}, {97281,12}, {102401,11}, {104449,12}, {126977,11}, {129025,10}, {138241,11}, {163329,10}, {179201,9}, {179713,11}, {210945,10}, {211969,11}, {221185,12}, {258049,10}, {262145,9}, {262657,10}, {274945,11}, {279553,9}, {280577,11}, {285697,10}, {286721,11}, {292865,10}, {293889,9}, {295937,10}, {296961,11}, {299009,10}, {309249,9}, {310785,11}, {331777,10}, {332801,11}, {339969,12}, {348161,11}, {352257,12}, {389121,11}, {391169,10}, {393217,11}, {402433,10}, {405505,11}, {425985,13}, {516097,11}, {528385,10}, {529409,11}, {565249,10}, {566273,11}, {622593,12}, {651265,11}, {718849,12}, {765953,11}, {768001,12}, {782337,11}, {849921,12}, {913409,11}, {930817,13}, {942081,11}, {980993,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1437697,13}, {1564673,12}, {1961985,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {2879489,13}, {3137537,12}, {3272705,13}, {3661825,12}, {3665921,14}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86_64/corei/gmp-mparam.h b/mpn/x86_64/corei/gmp-mparam.h index 26a6b6598..af108fa6b 100644 --- a/mpn/x86_64/corei/gmp-mparam.h +++ b/mpn/x86_64/corei/gmp-mparam.h @@ -97,8 +97,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define SET_STR_DC_THRESHOLD 226 #define SET_STR_PRECOMPUTE_THRESHOLD 1660 -/* These tables need updating */ +#define MUL_FFT_TABLE2 {{1,4}, {241,5}, {545,6}, {1345,7}, {3073,8}, {6913,9}, {7681,8}, {8449,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {26113,11}, {30721,10}, {31745,9}, {34305,10}, {51201,11}, {63489,10}, {79873,11}, {96257,10}, {98305,12}, {126977,11}, {129025,10}, {138241,11}, {195585,9}, {196097,10}, {196609,12}, {200705,11}, {204801,12}, {210945,11}, {217089,12}, {258049,11}, {261121,10}, {266241,11}, {295425,10}, {295937,9}, {296449,11}, {303105,10}, {305153,9}, {306177,11}, {308225,10}, {315393,11}, {317441,10}, {318465,11}, {323585,10}, {324609,11}, {327169,12}, {389121,11}, {417793,13}, {516097,12}, {520193,10}, {521217,11}, {587777,10}, {588801,12}, {596993,10}, {603137,12}, {651265,11}, {722945,12}, {724993,11}, {776193,12}, {782337,11}, {851969,12}, {913409,11}, {917505,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1949697,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {2617345,11}, {2639873,12}, {2641921,11}, {2670593,12}, {2699265,11}, {2703361,12}, {2719745,11}, {2744321,12}, {2879489,13}, {3137537,12}, {3405825,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4978689,13}, {MP_SIZE_T_MAX, 0}} -#define MUL_FFT_TABLE2 {{1,4}, {273,5}, {545,6}, {1217,7}, {3201,8}, {6913,9}, {7681,8}, {8449,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {34305,10}, {39937,9}, {42497,10}, {56321,11}, {63489,10}, {81409,11}, {92161,10}, {93185,11}, {96257,12}, {126977,11}, {131073,10}, {138241,11}, {167937,10}, {169473,11}, {169985,10}, {172033,11}, {195585,9}, {196097,11}, {198657,10}, {208897,11}, {217089,12}, {258049,11}, {261121,9}, {262657,10}, {275457,11}, {302081,10}, {307201,11}, {331777,12}, {389121,11}, {425985,13}, {516097,12}, {520193,11}, {598017,12}, {610305,11}, {614401,12}, {651265,11}, {653313,10}, {654337,11}, {673793,10}, {674817,11}, {677889,10}, {679937,11}, {718849,10}, {719873,12}, {782337,11}, {850945,12}, {913409,11}, {925697,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1244161,12}, {1306625,11}, {1310721,12}, {1327105,11}, {1347585,12}, {1355777,11}, {1366017,12}, {1439745,13}, {1564673,12}, {1835009,14}, {1900545,12}, {1904641,14}, {2080769,13}, {2088961,12}, {2488321,13}, {2613249,12}, {2879489,13}, {2932737,12}, {2940929,13}, {3137537,12}, {3403777,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4978689,13}, {5234689,12}, {5500929,13}, {5758977,14}, {6275073,13}, {7856129,15}, {8355841,14}, {8372225,13}, {9957377,14}, {MP_SIZE_T_MAX, 0}} - -#define SQR_FFT_TABLE2 {{1,4}, {241,5}, {545,6}, {1345,7}, {3201,8}, {6913,9}, {7681,8}, {8961,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {34305,10}, {55297,11}, {63489,10}, {80897,11}, {94209,10}, {97281,12}, {126977,11}, {129025,9}, {130049,10}, {138753,11}, {162817,9}, {164353,11}, {170497,10}, {178177,11}, {183297,10}, {184321,11}, {194561,10}, {208897,12}, {219137,11}, {221185,12}, {258049,11}, {261121,9}, {261633,10}, {267777,9}, {268289,11}, {270337,10}, {274945,9}, {276481,10}, {278529,11}, {292865,9}, {293377,10}, {295937,9}, {296449,10}, {306177,9}, {309249,10}, {310273,11}, {328705,12}, {331777,11}, {335873,12}, {344065,11}, {346113,12}, {352257,11}, {356353,12}, {389121,11}, {395265,10}, {398337,11}, {419841,10}, {421889,11}, {423937,13}, {516097,12}, {520193,11}, {546817,10}, {550913,11}, {561153,10}, {563201,11}, {579585,10}, {585729,11}, {621569,12}, {636929,11}, {638977,12}, {651265,11}, {714753,10}, {716801,11}, {718849,12}, {782337,11}, {849921,12}, {913409,11}, {954369,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1306625,11}, {1374209,12}, {1437697,13}, {1564673,12}, {1961985,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {2879489,13}, {3137537,12}, {3272705,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4976641,13}, {5234689,12}, {5320705,13}, {5324801,12}, {5447681,13}, {5455873,12}, {5500929,13}, {5758977,14}, {6275073,13}, {6283265,12}, {6549505,13}, {7856129,15}, {8355841,14}, {8372225,13}, {9953281,14}, {MP_SIZE_T_MAX, 0}} +#define SQR_FFT_TABLE2 {{1,4}, {273,5}, {545,6}, {1345,7}, {3073,8}, {6913,9}, {7681,8}, {8449,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {26113,11}, {30721,10}, {31745,9}, {34305,10}, {51201,11}, {63489,10}, {80897,11}, {96257,10}, {97281,12}, {126977,11}, {129025,10}, {137217,11}, {194561,10}, {196097,12}, {258049,11}, {261121,9}, {262145,10}, {263169,9}, {263681,10}, {264193,11}, {266241,10}, {274433,9}, {275457,10}, {279041,11}, {290817,9}, {294913,11}, {296961,9}, {300545,8}, {300801,9}, {301057,11}, {309249,9}, {310273,10}, {311297,12}, {315393,10}, {316417,11}, {327681,12}, {350209,10}, {351233,12}, {389121,10}, {392705,11}, {417793,13}, {516097,11}, {522241,10}, {524289,11}, {528385,10}, {529409,11}, {546817,10}, {547841,11}, {587777,10}, {620033,12}, {624641,11}, {653313,10}, {656385,11}, {669697,10}, {671745,11}, {677889,10}, {684033,11}, {720897,12}, {735233,11}, {737281,12}, {761857,11}, {763905,12}, {774145,11}, {776193,12}, {778241,11}, {849921,12}, {851969,11}, {854017,12}, {856065,11}, {860161,12}, {905217,11}, {907265,12}, {913409,11}, {980993,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1234945,12}, {1306625,11}, {1323009,12}, {1327105,11}, {1357825,12}, {1439745,13}, {1564673,12}, {1964033,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {2879489,13}, {3137537,12}, {3403777,13}, {3661825,12}, {3928065,14}, {3932161,13}, {3948545,14}, {4046849,13}, {4079617,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4759553,13}, {4767745,12}, {4976641,13}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86_64/gmp-mparam.h b/mpn/x86_64/gmp-mparam.h index 576316349..b877cd761 100644 --- a/mpn/x86_64/gmp-mparam.h +++ b/mpn/x86_64/gmp-mparam.h @@ -96,10 +96,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define SET_STR_DC_THRESHOLD 248 #define SET_STR_PRECOMPUTE_THRESHOLD 1648 -/* These tables are older than the thresholds above. */ +#define MUL_FFT_TABLE2 {{1,4}, {337,5}, {737,6}, {1665,7}, {4097,8}, {10497,9}, {11777,8}, {13057,9}, {13825,8}, {14081,10}, {15361,9}, {15873,8}, {16129,9}, {22017,10}, {23553,9}, {28161,10}, {28673,9}, {29697,10}, {31745,9}, {36353,10}, {39937,9}, {42497,10}, {48129,9}, {49153,10}, {56321,11}, {63489,10}, {64513,9}, {69633,10}, {72705,9}, {77825,11}, {96257,10}, {97281,12}, {122881,11}, {129025,10}, {145409,11}, {161793,10}, {179201,11}, {227329,10}, {241665,12}, {258049,11}, {260097,10}, {269313,9}, {272385,11}, {293377,9}, {294401,10}, {297473,11}, {301057,9}, {309249,11}, {325633,9}, {327425,10}, {343041,9}, {343809,11}, {358401,12}, {389121,11}, {391169,9}, {392705,8}, {392961,9}, {396289,11}, {399361,9}, {408577,10}, {409601,11}, {466945,12}, {471041,13}, {475137,12}, {487425,13}, {491521,12}, {503809,13}, {516097,12}, {520193,11}, {522241,10}, {551937,11}, {552961,10}, {607233,12}, {610305,10}, {612353,12}, {651265,11}, {681985,10}, {683009,11}, {686081,10}, {687617, 11}, {692225,10}, {696321,11}, {701441,10}, {703489,11}, {708609,10}, {709633,11}, {711681,10}, {712705,11}, {714753,10}, {731137,12}, {741377,10}, {752641,12}, {782337,11}, {784385,10}, {817153,11}, {849921,10}, {850945,12}, {913409,11}, {915457,10}, {949249,11}, {980993,13}, {1040385,11}, {1388545,12}, {1394689,11}, {1404929,12}, {1409025,11}, {1505281,13}, {1564673,12}, {1568769,11}, {1637377,12}, {1699841,11}, {1768449,12}, {1830913,11}, {1898497,12}, {1961985,14}, {2080769,12}, {3536897,13}, {3661825,12}, {3928065,13}, {MP_SIZE_T_MAX, 0}} -#define MUL_FFT_TABLE2 {{1,4}, {337,5}, {673,6}, {1729,7}, {1793,6}, {2017,7}, {5633,8}, {11009,9}, {11777,8}, {14593,9}, {15873,8}, {16897,9}, {22017,10}, {23553,9}, {29697,10}, {31745,9}, {36353,10}, {39937,9}, {44545,10}, {48129,9}, {50689,10}, {56833,11}, {63489,10}, {78337,11}, {79873,10}, {86017,11}, {88065,10}, {92161,11}, {96257,10}, {106497,11}, {129025,10}, {141313,11}, {145409,10}, {146433,11}, {161793,10}, {167937,11}, {227329,12}, {258049,11}, {326657,12}, {389121,11}, {424961,13}, {516097,12}, {520193,11}, {528385,10}, {538625,11}, {547841,10}, {552961,11}, {587777,12}, {651265,11}, {718849,10}, {719873,12}, {782337,11}, {787457,10}, {791553,11}, {796673,10}, {802817,11}, {849921,10}, {850945,12}, {913409,11}, {915457,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1306625,11}, {1374209,12}, {1437697,13}, {1564673,12}, {1568769,11}, {1581057,12}, {1585153,11}, {1595393,12}, {1597441,11}, {1630209,12}, {1699841,11}, {1761281,12}, {1830913,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {3010561,13}, {3137537,12}, {3534849,13}, {3661825,12}, {3928065,13}, {3964929,14}, {4014081,13}, {4046849,14}, {4136961,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4976641,13}, {5234689,12}, {5238785,13}, {5349377,12}, {5353473,13}, {5758977,12}, {5763073,14}, {6275073,13}, {7856129,14}, {8372225,13}, {9953281,14}, {10469377,13}, {12050433,14}, {12566529,13}, {13623297,14}, {14663681,13}, {15196161,15}, {16744449,14}, {16760833,13}, {17293313,14}, {18857985,13}, {19394561,14}, {MP_SIZE_T_MAX,0}} -#define MUL_FFT_TABLE2_SIZE 117 - -#define SQR_FFT_TABLE2 {{1,4}, {305,5}, {609,6}, {1601,7}, {4737,8}, {4865,7}, {5121,8}, {11009,9}, {11777,8}, {13057,9}, {13825,10}, {15361,9}, {15873,8}, {16129,9}, {22017,10}, {23553,9}, {28161,10}, {31745,9}, {36353,10}, {39937,9}, {42497,10}, {56321,11}, {63489,10}, {89601,11}, {96257,10}, {107521,12}, {126977,11}, {129025,10}, {135169,11}, {137217,10}, {139265,11}, {163841,10}, {173057,11}, {195073,9}, {196097,11}, {196609,10}, {201729,11}, {212993,12}, {217089,11}, {221185,12}, {258049,11}, {260609,10}, {261121,9}, {261633,11}, {292865,10}, {296961,11}, {299009,10}, {302081,11}, {325633,12}, {389121,11}, {392193,9}, {392705,11}, {393217,13}, {401409,11}, {404481,13}, {421889,11}, {424961,13}, {516097,12}, {520193,11}, {526337,10}, {532481,11}, {542721,10}, {543745,11}, {593921,12}, {598017,11}, {608257,12}, {610305,11}, {616449,12}, {651265,11}, {653313,10}, {687617,11}, {718849,10}, {749569,12}, {782337,11}, {784385,10}, {788481,11}, {793601,10}, {800769,11}, {802817,10}, {813057,11}, {850945,12}, {913409,11}, {917505,13}, {1040385,12}, {1044481,11}, {1113089,12}, {1175553,11}, {1243137,12}, {1309697,11}, {1347585,12}, {1351681,11}, {1368065,12}, {1437697,11}, {1503233,13}, {1564673,12}, {1568769,11}, {1628161,12}, {1839105,14}, {1851393,12}, {1884161,14}, {2080769,13}, {2088961,12}, {2488321,13}, {2613249,12}, {3010561,13}, {3137537,12}, {3403777,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4976641,13}, {5234689,12}, {5500929,13}, {5758977,12}, {5763073,14}, {6275073,13}, {6283265,12}, {6549505,13}, {7856129,15}, {8011777,14}, {8060929,15}, {8355841,14}, {8372225,13}, {9953281,14}, {10469377,13}, {12050433,14}, {12566529,13}, {13623297,14}, {14663681,13}, {15196161,15}, {16744449,14}, {16760833,13}, {17293313,14}, {23052289,15}, {25133057,14}, {29343745,16}, {MP_SIZE_T_MAX,0}} -#define SQR_FFT_TABLE2_SIZE 140 +#define SQR_FFT_TABLE2 {{1,4}, {369,5}, {801,6}, {1729,7}, {4097,8}, {8961,9}, {9729,8}, {10497,9}, {11777,8}, {13057,9}, {13825,8}, {14081,10}, {15361,9}, {22017,10}, {23553,9}, {28161,11}, {28673,10}, {31745,9}, {35841,10}, {39937,9}, {42497,10}, {56321,11}, {63489,10}, {87041,11}, {96257,10}, {106497,12}, {126977,11}, {129025,10}, {138753,8}, {139265,10}, {146433,8}, {147457,10}, {149505,8}, {150017,10}, {155649,11}, {161793,10}, {162817,8}, {164097,10}, {167937,8}, {189441,10}, {190465,11}, {194561,10}, {196097,8}, {196609,10}, {204289,8}, {204673,9}, {212737,11}, {223233,12}, {258049,11}, {260097,9}, {280577,11}, {282625,9}, {284161,11}, {284673,9}, {299009,10}, {300033,9}, {335873,8}, {336129,9}, {366593,11}, {368641,12}, {372737,11}, {374785,9}, {389121,11}, {391169,9}, {409601,10}, {427009,11}, {428033,9}, {428545,8}, {429057,10}, {438273,11}, {440321,10}, {454657,11}, {456705,10}, {467457,9}, {467969,10}, {475137,12}, {479233,13}, {516097,12}, {520193,10}, {546817,11}, {550913,10}, {588801,9}, {589313,10}, {706561,11}, {708609,10}, {755713,11}, {757761,10}, {758785,12}, {761857,10}, {771073,11}, {774145,10}, {777217,12}, {778241,10}, {779265,11}, {780289,10}, {801793,9}, {802305,10}, {818689,11}, {849921,9}, {851457,11}, {852993,9}, {854017,11}, {856065,9}, {856577,11}, {864257,9}, {865281,11}, {868865,9}, {870401,11}, {1540097,13}, {1550337,11}, {1637377,12}, {1701889,10}, {1703937,12}, {1708033,10}, {1712129,12}, {1717249,10}, {1721345,12}, {1724417,10}, {1725441,12}, {1728513,10}, {1744897,12}, {1835009,14}, {1851393,12}, {1867777,14}, {1884161,12}, {1892353,14}, {1900545,12}, {1921025,14}, {2000001,12}, {MP_SIZE_T_MAX, 0}} diff --git a/mpn/x86_64/nano/gmp-mparam.h b/mpn/x86_64/nano/gmp-mparam.h index 1ec736d95..2b2623ced 100644 --- a/mpn/x86_64/nano/gmp-mparam.h +++ b/mpn/x86_64/nano/gmp-mparam.h @@ -96,3 +96,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GET_STR_PRECOMPUTE_THRESHOLD 21 #define SET_STR_DC_THRESHOLD 592 #define SET_STR_PRECOMPUTE_THRESHOLD 2044 + +#define MUL_FFT_TABLE2 {{1,4}, {273,5}, {673,6}, {1601,7}, {3073,8}, {6913,9}, {7681,8}, {8961,9}, {9729,8}, {11009,9}, {11777,8}, {12545,9}, {13825,10}, {15361,9}, {28161,11}, {30721,10}, {31745,9}, {36353,10}, {48129,9}, {50689,10}, {56321,11}, {63489,10}, {81409,11}, {96257,10}, {105473,12}, {126977,11}, {129025,10}, {146433,11}, {161793,10}, {179201,11}, {194561,10}, {211969,11}, {227329,12}, {258049,11}, {358401,12}, {389121,11}, {391169,10}, {395265,11}, {398337,10}, {405505,11}, {423937,9}, {424449,10}, {441345,11}, {442369,13}, {516097,12}, {520193,11}, {569345,10}, {581633,11}, {620545,12}, {651265,11}, {679937,10}, {720385,12}, {782337,10}, {785409,11}, {817153,10}, {818177,11}, {883713,12}, {913409,11}, {915457,10}, {982529,12}, {983041,13}, {MP_SIZE_T_MAX, 0}} + +#define SQR_FFT_TABLE2 {{1,4}, {305,5}, {673,6}, {1601,7}, {4097,8}, {8961,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {31745,9}, {37377,10}, {56321,11}, {63489,10}, {89089,11}, {96257,10}, {105473,12}, {126977,11}, {129025,10}, {143361,11}, {161793,10}, {171009,11}, {194561,10}, {203777,11}, {227329,12}, {258049,11}, {326145,9}, {327425,11}, {327681,10}, {331777,12}, {389121,11}, {391169,10}, {392193,9}, {392961,10}, {402433,9}, {408577,11}, {425473,13}, {516097,12}, {520193,11}, {620545,12}, {651265,10}, {661505,11}, {663553,10}, {666625,9}, {667649,11}, {679937,10}, {719873,9}, {753153,10}, {753665,12}, {782337,10}, {794625,11}, {796673,10}, {870401,12}, {901121,11}, {905217,12}, {913409,11}, {915457,10}, {982529,12}, {983041,13}, {MP_SIZE_T_MAX, 0}} |