From: Paul Eggert Date: Tue, 1 Jul 2025 18:48:44 +0000 (-0700) Subject: factor: define SQUARE_OF_FIRST_OMITTED_PRIME X-Git-Tag: v9.8~200 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86bddb0d537442c7c7becad21e9ea320cd4f995b;p=thirdparty%2Fcoreutils.git factor: define SQUARE_OF_FIRST_OMITTED_PRIME * src/make-prime-list.c (output_primes): Output SQUARE_OF_FIRST_OMITTED_PRIME, not FIRST_OMITTED_PRIME. All uses changed. This way, the uses don’t need to worry about casts to avoid overflow. --- diff --git a/src/factor.c b/src/factor.c index 6fd98bd65b..b445dc21a5 100644 --- a/src/factor.c +++ b/src/factor.c @@ -1348,7 +1348,7 @@ prime_p (mp_limb_t n) return false; /* We have already cast out small primes. */ - if (n < (mp_limb_t) FIRST_OMITTED_PRIME * FIRST_OMITTED_PRIME) + if (n < SQUARE_OF_FIRST_OMITTED_PRIME) return true; if (USE_BAILLIE_PSW) @@ -1540,7 +1540,7 @@ mp_prime_p (mpz_t n) return false; /* We have already cast out small primes. */ - if (mpz_cmp_ui (n, (long) FIRST_OMITTED_PRIME * FIRST_OMITTED_PRIME) < 0) + if (mpz_cmp_ui (n, SQUARE_OF_FIRST_OMITTED_PRIME) < 0) return true; int probab_prime = mpz_probab_prime_p (n, MR_REPS); diff --git a/src/make-prime-list.c b/src/make-prime-list.c index 7a8e93fc67..2fd10f760c 100644 --- a/src/make-prime-list.c +++ b/src/make-prime-list.c @@ -150,8 +150,6 @@ output_primes (const struct prime *primes, unsigned nprimes) p = primes[i].p; } - printf ("\n#undef FIRST_OMITTED_PRIME\n"); - /* Find next prime */ do { @@ -169,7 +167,7 @@ output_primes (const struct prime *primes, unsigned nprimes) } while (!is_prime); - printf ("#define FIRST_OMITTED_PRIME %u\n", p); + printf ("#define SQUARE_OF_FIRST_OMITTED_PRIME %u\n", p * p); } ATTRIBUTE_MALLOC