From b26818e31c9588290d42c62628cef6a6d07442ac Mon Sep 17 00:00:00 2001 From: Ulrich Bauer Date: Tue, 10 May 2016 22:23:04 +0200 Subject: primality check --- ripser.cpp | 5 +++-- 1 file 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; } -- cgit v1.2.3