You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/06/04 14:04:09 UTC

[commons-numbers] 03/04: NUMBERS-104: Speed up trial division (continued)

This is an automated email from the ASF dual-hosted git repository.

erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git

commit 7b15fad6c3eeece124f635b7a5c2fd72443f2017
Author: Schamschi local <ma...@chello.at>
AuthorDate: Tue Jun 4 02:52:37 2019 +0200

    NUMBERS-104: Speed up trial division (continued)
    
    Remove unreachable lines of code to increase test coverage as requested.
---
 .../org/apache/commons/numbers/primes/SmallPrimes.java     | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/commons-numbers-primes/src/main/java/org/apache/commons/numbers/primes/SmallPrimes.java b/commons-numbers-primes/src/main/java/org/apache/commons/numbers/primes/SmallPrimes.java
index 49041d9..77676a6 100644
--- a/commons-numbers-primes/src/main/java/org/apache/commons/numbers/primes/SmallPrimes.java
+++ b/commons-numbers-primes/src/main/java/org/apache/commons/numbers/primes/SmallPrimes.java
@@ -184,14 +184,12 @@ class SmallPrimes {
         int currentEquivalenceClassIndex = Arrays.binarySearch(
                 PRIME_NUMBERS_AND_COPRIME_EQUIVALENCE_CLASSES.getValue(),
                 minFactor % m);
-        if (currentEquivalenceClassIndex < 0) {
-            if (currentEquivalenceClassIndex == -PRIME_NUMBERS_AND_COPRIME_EQUIVALENCE_CLASSES.getValue().length - 1) {
-                km += m;
-                currentEquivalenceClassIndex = 0;
-            } else {
-                currentEquivalenceClassIndex = -(currentEquivalenceClassIndex + 1);
-            }
-        }
+
+        /*
+        Since minFactor is the next smallest prime number after the
+        first 512 primes, it cannot be a multiple of one of them, therefore,
+        the index returned by the above binary search must be non-negative.
+         */
 
         boolean done = false;
         while (!done) {