[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master bb7e033: Speed up logcount on bignums
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master bb7e033: Speed up logcount on bignums |
Date: |
Thu, 16 Aug 2018 22:54:35 -0400 (EDT) |
branch: master
commit bb7e0338919d1c7068a64b3855e50fac345e4e05
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Speed up logcount on bignums
* src/data.c (Flogcount): Speed up by using the mpz equivalent
of ~X instead of -X-1.
---
src/data.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/data.c b/src/data.c
index a1215b9..66f508c 100644
--- a/src/data.c
+++ b/src/data.c
@@ -3350,8 +3350,7 @@ representation. */)
return make_fixnum (mpz_popcount (XBIGNUM (value)->value));
mpz_t tem;
mpz_init (tem);
- mpz_neg (tem, XBIGNUM (value)->value);
- mpz_sub_ui (tem, tem, 1);
+ mpz_com (tem, XBIGNUM (value)->value);
Lisp_Object result = make_fixnum (mpz_popcount (tem));
mpz_clear (tem);
return result;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master bb7e033: Speed up logcount on bignums,
Paul Eggert <=