aboutsummaryrefslogtreecommitdiffstats
path: root/src/fns.c
diff options
context:
space:
mode:
authorPaul Eggert2011-06-14 13:57:33 -0700
committerPaul Eggert2011-06-14 13:57:33 -0700
commit86fe5cfe4de95a44b949db9be105e78497318804 (patch)
tree4f2026c11792c0d544be36da5e9289010a8a04a8 /src/fns.c
parent80e88859ec7b69bb88e76e9d23c8dc16151bd836 (diff)
downloademacs-86fe5cfe4de95a44b949db9be105e78497318804.tar.gz
emacs-86fe5cfe4de95a44b949db9be105e78497318804.zip
* fns.c (next_almost_prime): Don't return a multiple of 3 or 5.
The previous code was bogus. For example, next_almost_prime (32) returned 39, which is undesirable as it is a multiple of 3; and next_almost_prime (24) returned 25, which is a multiple of 5 so why was the code bothering to check for multiples of 7?
Diffstat (limited to 'src/fns.c')
-rw-r--r--src/fns.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/fns.c b/src/fns.c
index 0e98a8d3425..333a75ac2b2 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3379,13 +3379,9 @@ check_hash_table (Lisp_Object obj)
3379EMACS_INT 3379EMACS_INT
3380next_almost_prime (EMACS_INT n) 3380next_almost_prime (EMACS_INT n)
3381{ 3381{
3382 if (n % 2 == 0) 3382 for (n |= 1; ; n += 2)
3383 n += 1; 3383 if (n % 3 != 0 && n % 5 != 0 && n % 7 != 0)
3384 if (n % 3 == 0) 3384 return n;
3385 n += 2;
3386 if (n % 7 == 0)
3387 n += 4;
3388 return n;
3389} 3385}
3390 3386
3391 3387