3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-16 02:00:00 +00:00
z3/src/test/prime_generator.cpp
Copilot 317dd92105 Standardize for-loop increments to prefix form (++i) (#8199)
* Initial plan

* Convert postfix to prefix increment in for loops

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Fix member variable increment conversion bug

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Update API generator to produce prefix increments

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-18 20:57:29 -08:00

45 lines
838 B
C++

/*++
Copyright (c) 2011 Microsoft Corporation
Module Name:
prime_generator.cpp
Abstract:
Prime generator
Author:
Leonardo (leonardo) 2011-12-23
Notes:
--*/
#include "util/mpz.h"
#include "util/prime_generator.h"
#include <iostream>
void tst_prime_generator() {
unsynch_mpz_manager m;
scoped_mpz sqrt_p(m);
prime_generator gen;
gen.initialize();
for (unsigned i = 0; i < 10000; ++i) {
uint64_t p = gen(i);
std::cout << p << ", ";
if (i % 11 == 0) std::cout << "\n";
std::cout.flush();
if (p == 2)
continue;
m.set(sqrt_p, p);
m.root(sqrt_p, 2);
uint64_t k = m.get_uint64(sqrt_p);
for (uint64_t i = 2; i <= k; ++i) {
ENSURE(p % i != 0);
}
}
gen.finalize();
std::cout << std::endl;
}