summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--gmp-impl.h20
-rw-r--r--mpn/generic/mullo_n.c12
3 files changed, 22 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 074f173dc..4efce6757 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-09 Torbjörn Granlund <tege@gmplib.org>
+
+ * mpn/generic/mullo_n.c: Remove default THRESHOLDs.
+ * gmp-impl.h: Put MULLO THRESHOLDs here. Improve various THRESHOLD
+ defaults.
+
2014-06-08 Torbjörn Granlund <tege@gmplib.org>
* gmp-impl.h (TMP_ALLOC): Decrease limit to about half.
diff --git a/gmp-impl.h b/gmp-impl.h
index b42dc477c..099eb31af 100644
--- a/gmp-impl.h
+++ b/gmp-impl.h
@@ -2069,7 +2069,7 @@ __GMP_DECLSPEC mp_limb_t gmp_primesieve (mp_ptr, mp_limb_t);
should be used, and that may be never. */
#ifndef SQR_BASECASE_THRESHOLD
-#define SQR_BASECASE_THRESHOLD 0
+#define SQR_BASECASE_THRESHOLD 0 /* never use mpn_mul_basecase */
#endif
#ifndef SQR_TOOM2_THRESHOLD
@@ -2093,8 +2093,20 @@ __GMP_DECLSPEC mp_limb_t gmp_primesieve (mp_ptr, mp_limb_t);
#define MULMID_TOOM42_THRESHOLD MUL_TOOM22_THRESHOLD
#endif
+#ifndef MULLO_BASECASE_THRESHOLD
+#define MULLO_BASECASE_THRESHOLD 0 /* never use mpn_mul_basecase */
+#endif
+
+#ifndef MULLO_DC_THRESHOLD
+#define MULLO_DC_THRESHOLD (2*MUL_TOOM22_THRESHOLD)
+#endif
+
+#ifndef MULLO_MUL_N_THRESHOLD
+#define MULLO_MUL_N_THRESHOLD (2*MUL_FFT_THRESHOLD)
+#endif
+
#ifndef DC_DIV_QR_THRESHOLD
-#define DC_DIV_QR_THRESHOLD 50
+#define DC_DIV_QR_THRESHOLD (2*MUL_TOOM22_THRESHOLD)
#endif
#ifndef DC_DIVAPPR_Q_THRESHOLD
@@ -2102,7 +2114,7 @@ __GMP_DECLSPEC mp_limb_t gmp_primesieve (mp_ptr, mp_limb_t);
#endif
#ifndef DC_BDIV_QR_THRESHOLD
-#define DC_BDIV_QR_THRESHOLD 50
+#define DC_BDIV_QR_THRESHOLD (2*MUL_TOOM22_THRESHOLD)
#endif
#ifndef DC_BDIV_Q_THRESHOLD
@@ -2114,7 +2126,7 @@ __GMP_DECLSPEC mp_limb_t gmp_primesieve (mp_ptr, mp_limb_t);
#endif
#ifndef INV_MULMOD_BNM1_THRESHOLD
-#define INV_MULMOD_BNM1_THRESHOLD (5*MULMOD_BNM1_THRESHOLD)
+#define INV_MULMOD_BNM1_THRESHOLD (4*MULMOD_BNM1_THRESHOLD)
#endif
#ifndef INV_APPR_THRESHOLD
diff --git a/mpn/generic/mullo_n.c b/mpn/generic/mullo_n.c
index dad75ee8f..a8483d943 100644
--- a/mpn/generic/mullo_n.c
+++ b/mpn/generic/mullo_n.c
@@ -39,18 +39,6 @@ see https://www.gnu.org/licenses/. */
#include "gmp-impl.h"
-#ifndef MULLO_BASECASE_THRESHOLD
-#define MULLO_BASECASE_THRESHOLD 0 /* never use mpn_mul_basecase */
-#endif
-
-#ifndef MULLO_DC_THRESHOLD
-#define MULLO_DC_THRESHOLD 3*MUL_TOOM22_THRESHOLD
-#endif
-
-#ifndef MULLO_MUL_N_THRESHOLD
-#define MULLO_MUL_N_THRESHOLD MUL_FFT_THRESHOLD
-#endif
-
#if TUNE_PROGRAM_BUILD || WANT_FAT_BINARY
#define MAYBE_range_basecase 1
#define MAYBE_range_toom22 1