Skip to content

maint: bump FLINT to v3.3.0 #286

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/build_variables.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ MPIRVER=3.0.0 # MPIR build no longer works (not clear where to download from)
# These are the actual dependencies used (at least by default):
GMPVER=6.3.0
MPFRVER=4.2.2
FLINTVER='3.2.2'
FLINTVER='3.3.0'
2 changes: 1 addition & 1 deletion meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ project(
# then we can consider not using a speculative upper version cap here.
#
flint_lower = '>=3.0'
flint_upper = '<3.3'
flint_upper = '<3.4'
cython_lower = '>=3.0.11'
cython_upper = '<3.2'

Expand Down
149 changes: 70 additions & 79 deletions src/flint/flintlib/functions/acb_theta.pxd

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/flint/flintlib/functions/arf.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ cdef extern from "flint/arf.h":
int arf_get_fmpz_fixed_si(fmpz_t res, const arf_t x, slong e)
void arf_floor(arf_t res, const arf_t x)
void arf_ceil(arf_t res, const arf_t x)
void arf_nint(arf_t res, const arf_t x)
void arf_get_fmpq(fmpq_t res, const arf_t x)
int arf_equal(const arf_t x, const arf_t y)
int arf_equal_si(const arf_t x, slong y)
Expand Down
2 changes: 1 addition & 1 deletion src/flint/flintlib/functions/fmpz.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ cdef extern from "flint/fmpz.h":
void fmpz_divexact2_uiui(fmpz_t f, const fmpz_t g, ulong x, ulong y)
int fmpz_divisible(const fmpz_t f, const fmpz_t g)
int fmpz_divisible_si(const fmpz_t f, slong g)
int fmpz_divides(fmpz_t q, const fmpz_t g, const fmpz_t h)
int fmpz_divides(fmpz_t q, const fmpz_t f, const fmpz_t g)
void fmpz_mod(fmpz_t f, const fmpz_t g, const fmpz_t h)
ulong fmpz_mod_ui(fmpz_t f, const fmpz_t g, ulong h)
void fmpz_smod(fmpz_t f, const fmpz_t g, const fmpz_t h)
Expand Down
1 change: 1 addition & 0 deletions src/flint/flintlib/functions/fmpz_mod_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ cdef extern from "flint/fmpz_mod_mat.h":
void _fmpz_mod_mat_mul_classical_threaded_op(fmpz_mod_mat_t D, const fmpz_mod_mat_t C, const fmpz_mod_mat_t A, const fmpz_mod_mat_t B, int op, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_mul_classical_threaded(fmpz_mod_mat_t C, const fmpz_mod_mat_t A, const fmpz_mod_mat_t B, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_sqr(fmpz_mod_mat_t B, const fmpz_mod_mat_t A, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_pow_ui(fmpz_mod_mat_t B, const fmpz_mod_mat_t A, ulong e, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_mul_fmpz_vec(fmpz_struct * c, const fmpz_mod_mat_t A, const fmpz_struct * b, slong blen, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_mul_fmpz_vec_ptr(fmpz_struct * const * c, const fmpz_mod_mat_t A, const fmpz_struct * const * b, slong blen, const fmpz_mod_ctx_t ctx)
void fmpz_mod_mat_fmpz_vec_mul(fmpz_struct * c, const fmpz_struct * a, slong alen, const fmpz_mod_mat_t B, const fmpz_mod_ctx_t ctx)
Expand Down
1 change: 1 addition & 0 deletions src/flint/flintlib/functions/fq_default_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ cdef extern from "flint/fq_default_mat.h":
int fq_default_mat_is_one(const fq_default_mat_t mat, const fq_default_ctx_t ctx)
int fq_default_mat_is_empty(const fq_default_mat_t mat, const fq_default_ctx_t ctx)
int fq_default_mat_is_square(const fq_default_mat_t mat, const fq_default_ctx_t ctx)
void fq_default_mat_transpose(fq_default_mat_t B, const fq_default_mat_t A, const fq_default_ctx_t ctx)
void fq_default_mat_add(fq_default_mat_t C, const fq_default_mat_t A, const fq_default_mat_t B, const fq_default_ctx_t ctx)
void fq_default_mat_sub(fq_default_mat_t C, const fq_default_mat_t A, const fq_default_mat_t B, const fq_default_ctx_t ctx)
void fq_default_mat_neg(fq_default_mat_t A, const fq_default_mat_t B, const fq_default_ctx_t ctx)
Expand Down
8 changes: 1 addition & 7 deletions src/flint/flintlib/functions/fq_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ cdef extern from "flint/fq_mat.h":
int fq_mat_is_one(const fq_mat_t mat, const fq_ctx_t ctx)
int fq_mat_is_empty(const fq_mat_t mat, const fq_ctx_t ctx)
int fq_mat_is_square(const fq_mat_t mat, const fq_ctx_t ctx)
void fq_mat_transpose(fq_mat_t B, const fq_mat_t A, const fq_ctx_t ctx)
void fq_mat_add(fq_mat_t C, const fq_mat_t A, const fq_mat_t B, const fq_ctx_t ctx)
void fq_mat_sub(fq_mat_t C, const fq_mat_t A, const fq_mat_t B, const fq_ctx_t ctx)
void fq_mat_neg(fq_mat_t A, const fq_mat_t B, const fq_ctx_t ctx)
Expand All @@ -57,19 +58,12 @@ cdef extern from "flint/fq_mat.h":
void fq_mat_vec_mul_ptr(fq_struct * const * c, const fq_struct * const * a, slong alen, const fq_mat_t B, const fq_ctx_t ctx)
int fq_mat_inv(fq_mat_t B, fq_mat_t A, const fq_ctx_t ctx)
slong fq_mat_lu(slong * P, fq_mat_t A, int rank_check, const fq_ctx_t ctx)
slong fq_mat_lu_classical(slong * P, fq_mat_t A, int rank_check, const fq_ctx_t ctx)
slong fq_mat_lu_recursive(slong * P, fq_mat_t A, int rank_check, const fq_ctx_t ctx)
slong fq_mat_rref(fq_mat_t B, const fq_mat_t A, const fq_ctx_t ctx)
slong fq_mat_reduce_row(fq_mat_t A, slong * P, slong * L, slong n, const fq_ctx_t ctx)
void fq_mat_solve_tril(fq_mat_t X, const fq_mat_t L, const fq_mat_t B, int unit, const fq_ctx_t ctx)
void fq_mat_solve_tril_classical(fq_mat_t X, const fq_mat_t L, const fq_mat_t B, int unit, const fq_ctx_t ctx)
void fq_mat_solve_tril_recursive(fq_mat_t X, const fq_mat_t L, const fq_mat_t B, int unit, const fq_ctx_t ctx)
void fq_mat_solve_triu(fq_mat_t X, const fq_mat_t U, const fq_mat_t B, int unit, const fq_ctx_t ctx)
void fq_mat_solve_triu_classical(fq_mat_t X, const fq_mat_t U, const fq_mat_t B, int unit, const fq_ctx_t ctx)
void fq_mat_solve_triu_recursive(fq_mat_t X, const fq_mat_t U, const fq_mat_t B, int unit, const fq_ctx_t ctx)
int fq_mat_solve(fq_mat_t X, const fq_mat_t A, const fq_mat_t B, const fq_ctx_t ctx)
int fq_mat_can_solve(fq_mat_t X, const fq_mat_t A, const fq_mat_t B, const fq_ctx_t ctx)
void fq_mat_similarity(fq_mat_t M, slong r, fq_t d, const fq_ctx_t ctx)
void fq_mat_charpoly_danilevsky(fq_poly_t p, const fq_mat_t M, const fq_ctx_t ctx)
void fq_mat_charpoly(fq_poly_t p, const fq_mat_t M, const fq_ctx_t ctx)
void fq_mat_minpoly(fq_poly_t p, const fq_mat_t M, const fq_ctx_t ctx)
8 changes: 1 addition & 7 deletions src/flint/flintlib/functions/fq_nmod_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ cdef extern from "flint/fq_nmod_mat.h":
int fq_nmod_mat_is_one(const fq_nmod_mat_t mat, const fq_nmod_ctx_t ctx)
int fq_nmod_mat_is_empty(const fq_nmod_mat_t mat, const fq_nmod_ctx_t ctx)
int fq_nmod_mat_is_square(const fq_nmod_mat_t mat, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_transpose(fq_nmod_mat_t B, const fq_nmod_mat_t A, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_add(fq_nmod_mat_t C, const fq_nmod_mat_t A, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_sub(fq_nmod_mat_t C, const fq_nmod_mat_t A, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_neg(fq_nmod_mat_t A, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
Expand All @@ -57,19 +58,12 @@ cdef extern from "flint/fq_nmod_mat.h":
void fq_nmod_mat_vec_mul_ptr(fq_nmod_struct * const * c, const fq_nmod_struct * const * a, slong alen, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
int fq_nmod_mat_inv(fq_nmod_mat_t B, fq_nmod_mat_t A, const fq_nmod_ctx_t ctx)
slong fq_nmod_mat_lu(slong * P, fq_nmod_mat_t A, int rank_check, const fq_nmod_ctx_t ctx)
slong fq_nmod_mat_lu_classical(slong * P, fq_nmod_mat_t A, int rank_check, const fq_nmod_ctx_t ctx)
slong fq_nmod_mat_lu_recursive(slong * P, fq_nmod_mat_t A, int rank_check, const fq_nmod_ctx_t ctx)
slong fq_nmod_mat_rref(fq_nmod_mat_t B, const fq_nmod_mat_t A, const fq_nmod_ctx_t ctx)
slong fq_nmod_mat_reduce_row(fq_nmod_mat_t A, slong * P, slong * L, slong n, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_tril(fq_nmod_mat_t X, const fq_nmod_mat_t L, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_tril_classical(fq_nmod_mat_t X, const fq_nmod_mat_t L, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_tril_recursive(fq_nmod_mat_t X, const fq_nmod_mat_t L, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_triu(fq_nmod_mat_t X, const fq_nmod_mat_t U, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_triu_classical(fq_nmod_mat_t X, const fq_nmod_mat_t U, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_solve_triu_recursive(fq_nmod_mat_t X, const fq_nmod_mat_t U, const fq_nmod_mat_t B, int unit, const fq_nmod_ctx_t ctx)
int fq_nmod_mat_solve(fq_nmod_mat_t X, const fq_nmod_mat_t A, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
int fq_nmod_mat_can_solve(fq_nmod_mat_t X, const fq_nmod_mat_t A, const fq_nmod_mat_t B, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_similarity(fq_nmod_mat_t M, slong r, fq_nmod_t d, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_charpoly_danilevsky(fq_nmod_poly_t p, const fq_nmod_mat_t M, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_charpoly(fq_nmod_poly_t p, const fq_nmod_mat_t M, const fq_nmod_ctx_t ctx)
void fq_nmod_mat_minpoly(fq_nmod_poly_t p, const fq_nmod_mat_t M, const fq_nmod_ctx_t ctx)
9 changes: 1 addition & 8 deletions src/flint/flintlib/functions/fq_zech_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ cdef extern from "flint/fq_zech_mat.h":
int fq_zech_mat_is_one(const fq_zech_mat_t mat, const fq_zech_ctx_t ctx)
int fq_zech_mat_is_empty(const fq_zech_mat_t mat, const fq_zech_ctx_t ctx)
int fq_zech_mat_is_square(const fq_zech_mat_t mat, const fq_zech_ctx_t ctx)
void fq_zech_mat_transpose(fq_zech_mat_t B, const fq_zech_mat_t A, const fq_zech_ctx_t ctx)
void fq_zech_mat_add(fq_zech_mat_t C, const fq_zech_mat_t A, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
void fq_zech_mat_sub(fq_zech_mat_t C, const fq_zech_mat_t A, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
void fq_zech_mat_neg(fq_zech_mat_t A, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
Expand All @@ -52,19 +53,11 @@ cdef extern from "flint/fq_zech_mat.h":
void fq_zech_mat_vec_mul(fq_zech_struct * c, const fq_zech_struct * a, slong alen, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
void fq_zech_mat_vec_mul_ptr(fq_zech_struct * const * c, const fq_zech_struct * const * a, slong alen, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
slong fq_zech_mat_lu(slong * P, fq_zech_mat_t A, int rank_check, const fq_zech_ctx_t ctx)
slong fq_zech_mat_lu_classical(slong * P, fq_zech_mat_t A, int rank_check, const fq_zech_ctx_t ctx)
slong fq_zech_mat_lu_recursive(slong * P, fq_zech_mat_t A, int rank_check, const fq_zech_ctx_t ctx)
slong fq_zech_mat_rref(fq_zech_mat_t B, const fq_zech_mat_t A, const fq_zech_ctx_t ctx)
slong fq_zech_mat_reduce_row(fq_zech_mat_t A, slong * P, slong * L, slong n, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_tril(fq_zech_mat_t X, const fq_zech_mat_t L, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_tril_classical(fq_zech_mat_t X, const fq_zech_mat_t L, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_tril_recursive(fq_zech_mat_t X, const fq_zech_mat_t L, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_triu(fq_zech_mat_t X, const fq_zech_mat_t U, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_triu_classical(fq_zech_mat_t X, const fq_zech_mat_t U, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
void fq_zech_mat_solve_triu_recursive(fq_zech_mat_t X, const fq_zech_mat_t U, const fq_zech_mat_t B, int unit, const fq_zech_ctx_t ctx)
int fq_zech_mat_solve(fq_zech_mat_t X, const fq_zech_mat_t A, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
int fq_zech_mat_can_solve(fq_zech_mat_t X, const fq_zech_mat_t A, const fq_zech_mat_t B, const fq_zech_ctx_t ctx)
void fq_zech_mat_similarity(fq_zech_mat_t M, slong r, fq_zech_t d, const fq_zech_ctx_t ctx)
void fq_zech_mat_charpoly_danilevsky(fq_zech_poly_t p, const fq_zech_mat_t M, const fq_zech_ctx_t ctx)
void fq_zech_mat_charpoly(fq_zech_poly_t p, const fq_zech_mat_t M, const fq_zech_ctx_t ctx)
void fq_zech_mat_minpoly(fq_zech_poly_t p, const fq_zech_mat_t M, const fq_zech_ctx_t ctx)
10 changes: 9 additions & 1 deletion src/flint/flintlib/functions/gr.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,14 @@ from flint.flintlib.types.gr cimport gr_ctx_t, gr_ptr, gr_srcptr, gr_stream_t, g
# .. macro:: GR_TMP_CLEAR(x1, ctx)

cdef extern from "flint/gr.h":
truth_t truth_and(truth_t x, truth_t y)
truth_t truth_or(truth_t x, truth_t y)
truth_t truth_not(truth_t x)
void truth_println(truth_t x)
truth_t gr_in_domain(int status)
int gr_check(truth_t t)
slong gr_ctx_sizeof_elem(gr_ctx_t ctx)
int gr_ctx_clear(gr_ctx_t ctx)
void gr_ctx_clear(gr_ctx_t ctx)
int gr_ctx_write(gr_stream_t out, gr_ctx_t ctx)
int gr_ctx_print(gr_ctx_t ctx)
int gr_ctx_println(gr_ctx_t ctx)
Expand All @@ -32,6 +38,7 @@ cdef extern from "flint/gr.h":
gr_ptr gr_heap_init_vec(slong len, gr_ctx_t ctx)
void gr_heap_clear_vec(gr_ptr x, slong len, gr_ctx_t ctx)
int gr_randtest(gr_ptr res, flint_rand_t state, gr_ctx_t ctx)
int gr_randtest_invertible(gr_ptr res, flint_rand_t state, gr_ctx_t ctx)
int gr_randtest_not_zero(gr_ptr res, flint_rand_t state, gr_ctx_t ctx)
int gr_randtest_small(gr_ptr res, flint_rand_t state, gr_ctx_t ctx)
int gr_write(gr_stream_t out, gr_srcptr x, gr_ctx_t ctx)
Expand Down Expand Up @@ -141,6 +148,7 @@ cdef extern from "flint/gr.h":
int gr_rsqrt(gr_ptr res, gr_srcptr x, gr_ctx_t ctx)
int gr_gcd(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t ctx)
int gr_lcm(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t ctx)
int gr_canonical_associate(gr_ptr res, gr_ptr u, gr_srcptr x, gr_ctx_t ctx)
int gr_factor(gr_ptr c, gr_vec_t factors, gr_vec_t exponents, gr_srcptr x, int flags, gr_ctx_t ctx)
int gr_numerator(gr_ptr res, gr_srcptr x, gr_ctx_t ctx)
int gr_denominator(gr_ptr res, gr_srcptr x, gr_ctx_t ctx)
Expand Down
1 change: 1 addition & 0 deletions src/flint/flintlib/functions/gr_domains.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,6 @@ cdef extern from "flint/gr.h":
void gr_ctx_init_gr_mpoly(gr_ctx_t ctx, gr_ctx_t base_ring, slong nvars, const ordering_t ord)
void gr_ctx_init_series_mod_gr_poly(gr_ctx_t ctx, gr_ctx_t base_ring, slong n)
void gr_ctx_init_gr_series(gr_ctx_t ctx, gr_ctx_t base_ring, slong prec)
void gr_ctx_init_gr_fraction(gr_ctx_t ctx, gr_ctx_t domain, int flags)
void gr_ctx_init_fmpz_mpoly_q(gr_ctx_t ctx, slong nvars, const ordering_t ord)
void gr_ctx_init_fexpr(gr_ctx_t ctx)
5 changes: 3 additions & 2 deletions src/flint/flintlib/functions/gr_generic.pxd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_struct, fmpz_t, slong, ulong
from flint.flintlib.types.fmpq cimport fmpq_t
from flint.flintlib.types.fmpz cimport fmpz_mpoly_ctx_t, fmpz_mpoly_t, fmpz_poly_t
from flint.flintlib.types.gr cimport gr_ctx_t, gr_ptr, gr_srcptr, gr_stream_t, truth_t
from flint.flintlib.types.gr cimport gr_ctx_t, gr_ptr, gr_srcptr, gr_stream_t, gr_vec_t, truth_t


# .. macro :: GR_PARSE_BALANCE_ADDITIONS
Expand All @@ -24,7 +24,7 @@ cdef extern from "flint/gr_generic.h":
void gr_generic_add(void)
void gr_generic_sub(void)
void gr_generic_mul(void)
int gr_generic_ctx_clear(gr_ctx_t ctx)
void gr_generic_ctx_clear(gr_ctx_t ctx)
void gr_generic_set_shallow(gr_ptr res, gr_srcptr x, const gr_ctx_t ctx)
int gr_generic_write_n(gr_stream_t out, gr_srcptr x, slong n, gr_ctx_t ctx)
int gr_generic_randtest_not_zero(gr_ptr x, flint_rand_t state, gr_ctx_t ctx)
Expand Down Expand Up @@ -212,3 +212,4 @@ cdef extern from "flint/gr_generic.h":
int gr_generic_scalar_other_div_vec(gr_ptr vec1, gr_srcptr c, gr_ctx_t cctx, gr_srcptr vec2, slong len, gr_ctx_t ctx)
int gr_generic_scalar_other_divexact_vec(gr_ptr vec1, gr_srcptr c, gr_ctx_t cctx, gr_srcptr vec2, slong len, gr_ctx_t ctx)
int gr_generic_scalar_other_pow_vec(gr_ptr vec1, gr_srcptr c, gr_ctx_t cctx, gr_srcptr vec2, slong len, gr_ctx_t ctx)
int gr_generic_poly_factor_roots( gr_ptr c, gr_vec_t fac, gr_vec_t mult, gr_srcptr elt, int flags, gr_ctx_t ctx)
Loading
Loading