mirror of
https://github.com/Z3Prover/z3
synced 2026-07-15 03:25:43 +00:00
This is another PR towards the goal of getting Z3 to compile cleanly when included via FetchContents into clang-tidy, which uses a pretty strict set of warnings. This is a second version of https://github.com/Z3Prover/z3/pull/9957. I address @NikolajBjorner 's comments about not changing the semicolons after macro invocations, because some editors work better with them present. It now, to the best of my ability, only deletes semis: * after the closing brace of namespace decl. * after the closing brace of an extern "C" decl. * after a function definition. This PR is very large, but it consists entirely of deletions of semicolons in these situations. (If there was a way to update the previous PR, which had been closed, and that is preferable, please let me know. I couldn't figure it out.) |
||
|---|---|---|
| .. | ||
| algebraic_numbers.cpp | ||
| algebraic_numbers.h | ||
| algebraic_params.pyg | ||
| CMakeLists.txt | ||
| linear_eq_solver.h | ||
| polynomial.cpp | ||
| polynomial.h | ||
| polynomial_cache.cpp | ||
| polynomial_cache.h | ||
| polynomial_primes.h | ||
| polynomial_var2value.h | ||
| README | ||
| rpolynomial.cpp | ||
| rpolynomial.h | ||
| sexpr2upolynomial.cpp | ||
| sexpr2upolynomial.h | ||
| upolynomial.cpp | ||
| upolynomial.h | ||
| upolynomial_factorization.cpp | ||
| upolynomial_factorization.h | ||
| upolynomial_factorization_int.h | ||
Polynomial manipulation package. It contains support for univariate (upolynomial.*) and multivariate polynomials (polynomial.*). Multivariate polynomial factorization uses evaluation and bivariate Hensel lifting: evaluate away extra variables, factor the univariate specialization, then lift to bivariate factors in Zp[x] and verify over Z. For >2 variables, trial division checks if bivariate factors divide the original.