summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Bauer <ulrich.bauer@tum.de>2016-05-10 22:23:04 +0200
committerUlrich Bauer <ulrich.bauer@tum.de>2016-05-10 22:23:04 +0200
commitb26818e31c9588290d42c62628cef6a6d07442ac (patch)
treea024e01852b1945b4a8814ae239d31c66009486f
parent4c9b346216f0c148ea32b980b63630d6140d90a3 (diff)
primality check
-rw-r--r--ripser.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/ripser.cpp b/ripser.cpp
index 8a44b50..e04723d 100644
--- a/ripser.cpp
+++ b/ripser.cpp
@@ -776,8 +776,9 @@ void compute_pairs(
#endif
}
-bool is_prime(const unsigned long n) {
- for (unsigned long i = 2; i*i <= n; ++i) if (n%i == 0) return false;
+bool is_prime(const coefficient_t n) {
+ if (!(n & 1) || n < 2 ) return n == 2;
+ for (coefficient_t p = 3, q = n/p, r = n%p; p <= q; p += 2, q = n/p, r = n%p) if (!r) return false;
return true;
}