34#ifndef GOOGLETEST_SAMPLES_PRIME_TABLES_H_
35#define GOOGLETEST_SAMPLES_PRIME_TABLES_H_
56 if (n <= 1)
return false;
58 for (
int i = 2;
i *
i <= n;
i++) {
60 if ((n %
i) == 0)
return false;
69 for (
int n =
p + 1;; n++) {
81 : is_prime_size_(
std::max(1, max + 1)),
82 is_prime_(new bool[static_cast<size_t>(is_prime_size_)]) {
83 CalculatePrimesUpTo(is_prime_size_ - 1);
88 return 0 <= n && n < is_prime_size_ && is_prime_[n];
92 for (
int n =
p + 1; n < is_prime_size_; n++) {
93 if (is_prime_[n])
return n;
100 void CalculatePrimesUpTo(
int max) {
101 ::std::fill(is_prime_, is_prime_ + is_prime_size_,
true);
102 is_prime_[0] = is_prime_[1] =
false;
106 for (
int i = 2;
i *
i <= max;
i +=
i % 2 + 1) {
107 if (!is_prime_[
i])
continue;
112 for (
int j =
i *
i; j <= max; j +=
i) {
113 is_prime_[j] =
false;
118 const int is_prime_size_;
119 bool*
const is_prime_;
int i
Definition gmock-matchers-comparisons_test.cc:603
const char * p
Definition gmock-matchers-containers_test.cc:379