[Gmp-commit] /var/hg/gmp: 2 new changesets

mercurial at gmplib.org mercurial at gmplib.org
Sun Mar 1 19:02:16 CET 2026


details:   /var/hg/gmp/rev/a15023544812
changeset: 18495:a15023544812
user:      Marco Bodrato <bodrato at mail.dm.unipi.it>
date:      Sun Mar 01 19:00:50 2026 +0100
description:
tune/speed.h (SPEED_ROUTINE_MPN_PERFECT_SQUARE): Support size 1.

details:   /var/hg/gmp/rev/65417ef46494
changeset: 18496:65417ef46494
user:      Marco Bodrato <bodrato at mail.dm.unipi.it>
date:      Sun Mar 01 19:01:58 2026 +0100
description:
ChangeLog

diffstat:

 ChangeLog    |  2 ++
 tune/speed.h |  5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diffs (27 lines):

diff -r 7ff7050d24ea -r 65417ef46494 ChangeLog
--- a/ChangeLog	Sat Feb 21 17:43:34 2026 +0100
+++ b/ChangeLog	Sun Mar 01 19:01:58 2026 +0100
@@ -6,6 +6,8 @@
 	* tune/speed.h (SPEED_ROUTINE_MPN_MULMOD_BNP1_CALL):
 	Use k=11 only when available.
 
+	* tune/speed.h (SPEED_ROUTINE_MPN_PERFECT_SQUARE): Support size 1.
+
 2025-09-24  Niels Möller  <nisse at lysator.liu.se>
 
 	* bootstrap.c (MINI_GMP_ENABLE_FLOAT): Define to 0. Replaces...
diff -r 7ff7050d24ea -r 65417ef46494 tune/speed.h
--- a/tune/speed.h	Sat Feb 21 17:43:34 2026 +0100
+++ b/tune/speed.h	Sun Mar 01 19:01:58 2026 +0100
@@ -3655,8 +3655,9 @@
     unsigned  i;							\
     double    t;							\
 									\
-    SPEED_RESTRICT_COND (s->size >= 2);					\
-    mpz_init_set_n (r, s->xp, s->size / 2);				\
+    SPEED_RESTRICT_COND (s->size >= 1);					\
+    mpz_init_set_n (r, s->xp, (s->size + 1) / 2);			\
+    mpz_fdiv_r_2exp (r, r, s->size * GMP_NUMB_BITS / 2);		\
     mpz_setbit (r, s->size * GMP_NUMB_BITS / 2 - 1);			\
     mpz_mul (r, r, r);							\
 									\


More information about the gmp-commit mailing list