From 64a1365c054977ebe530885b3bc5996a14211de3 Mon Sep 17 00:00:00 2001 From: Kim Walisch Date: Mon, 8 Jan 2024 12:21:20 +0100 Subject: [PATCH] Fix bounds --- src/nthPrime.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nthPrime.cpp b/src/nthPrime.cpp index 1d9548974..fb18268af 100644 --- a/src/nthPrime.cpp +++ b/src/nthPrime.cpp @@ -150,7 +150,7 @@ uint64_t PrimeSieve::negativeNthPrime(int64_t n, uint64_t start) // we simply iterate over the primes until we find it. if (countApprox >= n) { - uint64_t dist = (n - countApprox) * avgPrimeGap(start); + uint64_t dist = (countApprox - n) * avgPrimeGap(start); uint64_t stop = checkedAdd(start, dist); primesieve::iterator iter(start, stop); for (int64_t i = countApprox; i >= n; i--) @@ -159,7 +159,7 @@ uint64_t PrimeSieve::negativeNthPrime(int64_t n, uint64_t start) else // if (countApprox < n) { start = checkedSub(start, 1); - uint64_t dist = (countApprox - n) * avgPrimeGap(start); + uint64_t dist = (n - countApprox) * avgPrimeGap(start); uint64_t stop = checkedSub(start, dist); primesieve::iterator iter(start, stop); for (int64_t i = countApprox; i < n; i++)