Skip to content

Commit

Permalink
Bump FLINT to 3.2.0-rc1
Browse files Browse the repository at this point in the history
  • Loading branch information
oscarbenjamin authored Mar 5, 2025
2 parents deed5b1 + e1a59f5 commit 242c48e
Show file tree
Hide file tree
Showing 37 changed files with 533 additions and 461 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/buildwheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ jobs:
fail-fast: false
matrix:
# Supported Flint versions:
flint-tag: ['v3.0.0', 'v3.0.1', 'v3.1.0', 'v3.1.1', 'v3.1.2']
flint-tag: ['v3.0.1', 'v3.1.3-p1', 'v3.2.0-rc1']
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand All @@ -173,8 +173,22 @@ jobs:

# Test against flint main
test_flint_main:
name: Test flint main
runs-on: ubuntu-22.04
name: Test flint main Linux x86-64
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- run: bin/install_flint_ubuntu.sh main
# Need to disable flint version check to build against main
- run: pip install --config-settings=setup-args="-Dflint_version_check=false" .
- run: python -m flint.test --verbose

# Test against flint main
test_flint_main_arm:
name: Test flint main Linux ARM
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand Down
7 changes: 1 addition & 6 deletions bin/build_dependencies_unix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -282,13 +282,8 @@ curl -O -L https://github.com/flintlib/flint/releases/download/v$FLINTVER/flint-
tar xf flint-$FLINTVER.tar.gz
cd flint-$FLINTVER
./bootstrap.sh
# --host=$HOST_ARG\ # host is ignored
# --enable-arch works on 3.1.3p1, not available on HEAD
./configure --prefix=$PREFIX\
--enable-arch=${HOST_ARG%%-*}\
--disable-assembly\
--disable-avx2\
--disable-avx512\
--host=$HOST_ARG\
$FLINTARB_WITHGMP\
--with-mpfr=$PREFIX\
--disable-static\
Expand Down
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.1.0
FLINTVER='3.1.3-p1'
FLINTVER='3.2.0-rc1'
3 changes: 3 additions & 0 deletions bin/rst_to_pxd.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@ def get_functions(file):
macros.append(line.strip())
continue

if line.strip().endswith('\\'):
continue

m = is_func.match(line)
if m:
ret.append(clean_types(line[m.end():]))
Expand Down
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.2'
flint_upper = '<3.3'
cython_lower = '>=3.0.11'
cython_upper = '<3.2'

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ skip = "*-win32 *-manylinux_i686 *-musllinux_*"
# free-threaded-support = true

manylinux-x86_64-image = "manylinux2014"
manylinux-aarch64-image = "manylinux2014"
manylinux-aarch64-image = "manylinux_2_28"
manylinux-i686-image = "manylinux2014"
test-command = "python -c \"import flint; print(str(flint.fmpz(2)))\""

Expand Down
1 change: 1 addition & 0 deletions src/flint/flintlib/functions/acb_hypgeom.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ cdef extern from "flint/acb_hypgeom.h":
void acb_hypgeom_fresnel(acb_t res1, acb_t res2, const acb_t z, int normalized, slong prec)
void _acb_hypgeom_fresnel_series(acb_ptr res1, acb_ptr res2, acb_srcptr z, slong zlen, int normalized, slong len, slong prec)
void acb_hypgeom_fresnel_series(acb_poly_t res1, acb_poly_t res2, const acb_poly_t z, int normalized, slong len, slong prec)
void acb_hypgeom_bessel_j_deriv_bound(mag_t res, const acb_t nu, const acb_t z, ulong d)
void acb_hypgeom_bessel_j_asymp(acb_t res, const acb_t nu, const acb_t z, slong prec)
void acb_hypgeom_bessel_j_0f1(acb_t res, const acb_t nu, const acb_t z, slong prec)
void acb_hypgeom_bessel_j(acb_t res, const acb_t nu, const acb_t z, slong prec)
Expand Down
4 changes: 2 additions & 2 deletions src/flint/flintlib/functions/acb_mat.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ cdef extern from "flint/acb_mat.h":
void acb_mat_set_fmpq_mat(acb_mat_t dest, const fmpq_mat_t src, slong prec)
void acb_mat_set_arb_mat(acb_mat_t dest, const arb_mat_t src)
void acb_mat_set_round_arb_mat(acb_mat_t dest, const arb_mat_t src, slong prec)
void acb_mat_get_real(arb_mat_t re, const arb_mat_t mat)
void acb_mat_get_imag(arb_mat_t im, const arb_mat_t mat)
void acb_mat_get_real(arb_mat_t re, const acb_mat_t mat)
void acb_mat_get_imag(arb_mat_t im, const acb_mat_t mat)
void acb_mat_set_real_imag(acb_mat_t mat, const arb_mat_t re, const arb_mat_t im)
void acb_mat_randtest(acb_mat_t mat, flint_rand_t state, slong prec, slong mag_bits)
void acb_mat_randtest_eig(acb_mat_t mat, flint_rand_t state, acb_srcptr E, slong prec)
Expand Down
3 changes: 2 additions & 1 deletion src/flint/flintlib/functions/acb_poly.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ cdef extern from "flint/acb_poly.h":
void acb_poly_cosh_series(acb_poly_t c, const acb_poly_t h, slong n, slong prec)
void _acb_poly_sinc_series(acb_ptr s, acb_srcptr h, slong hlen, slong n, slong prec)
void acb_poly_sinc_series(acb_poly_t s, const acb_poly_t h, slong n, slong prec)
void _acb_poly_sinc_pi_series(acb_ptr s, acb_srcptr h, slong hlen, slong n, slong prec)
void acb_poly_sinc_pi_series(acb_poly_t s, const acb_poly_t h, slong n, slong prec)
void _acb_poly_lambertw_series(acb_ptr res, acb_srcptr z, slong zlen, const fmpz_t k, int flags, slong len, slong prec)
void acb_poly_lambertw_series(acb_poly_t res, const acb_poly_t z, const fmpz_t k, int flags, slong len, slong prec)
void _acb_poly_gamma_series(acb_ptr res, acb_srcptr h, slong hlen, slong n, slong prec)
Expand Down Expand Up @@ -236,7 +238,6 @@ cdef extern from "flint/acb_poly.h":
void acb_poly_root_bound_fujiwara(mag_t bound, acb_poly_t poly)
void _acb_poly_root_inclusion(acb_t r, const acb_t m, acb_srcptr poly, acb_srcptr polyder, slong len, slong prec)
slong _acb_poly_validate_roots(acb_ptr roots, acb_srcptr poly, slong len, slong prec)
void _acb_poly_refine_roots_durand_kerner(acb_ptr roots, acb_srcptr poly, slong len, slong prec)
slong _acb_poly_find_roots(acb_ptr roots, acb_srcptr poly, acb_srcptr initial, slong len, slong maxiter, slong prec)
slong acb_poly_find_roots(acb_ptr roots, const acb_poly_t poly, acb_srcptr initial, slong maxiter, slong prec)
int _acb_poly_validate_real_roots(acb_srcptr roots, acb_srcptr poly, slong len, slong prec)
Expand Down
18 changes: 9 additions & 9 deletions src/flint/flintlib/functions/arb.pxd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from flint.flintlib.types.arb cimport arb_ptr, arb_srcptr, arb_t, mag_srcptr, mag_t
from flint.flintlib.types.arf cimport arf_rnd_t, arf_srcptr, arf_t
from flint.flintlib.types.flint cimport flint_bitcnt_t, flint_rand_t, fmpz_struct, fmpz_t, mp_limb_t, mp_ptr, mp_size_t, mp_srcptr, slong, ulong
from flint.flintlib.types.flint cimport flint_bitcnt_t, flint_rand_t, fmpz_struct, fmpz_t, nn_ptr, nn_srcptr, slong, ulong
from flint.flintlib.types.fmpq cimport fmpq_t

# unknown type FILE
Expand Down Expand Up @@ -318,14 +318,14 @@ cdef extern from "flint/arb.h":
void arb_partitions_ui(arb_t res, ulong n, slong prec)
void arb_primorial_nth_ui(arb_t res, ulong n, slong prec)
void arb_primorial_ui(arb_t res, ulong n, slong prec)
void _arb_atan_taylor_naive(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int alternating)
void _arb_atan_taylor_rs(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int alternating)
void _arb_exp_taylor_naive(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)
void _arb_exp_taylor_rs(mp_ptr y, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)
void _arb_sin_cos_taylor_naive(mp_ptr ysin, mp_ptr ycos, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N)
void _arb_sin_cos_taylor_rs(mp_ptr ysin, mp_ptr ycos, mp_limb_t * error, mp_srcptr x, mp_size_t xn, ulong N, int sinonly, int alternating)
int _arb_get_mpn_fixed_mod_log2(mp_ptr w, fmpz_t q, mp_limb_t * error, const arf_t x, mp_size_t wn)
int _arb_get_mpn_fixed_mod_pi4(mp_ptr w, fmpz_t q, int * octant, mp_limb_t * error, const arf_t x, mp_size_t wn)
void _arb_atan_taylor_naive(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N, int alternating)
void _arb_atan_taylor_rs(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N, int alternating)
void _arb_exp_taylor_naive(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N)
void _arb_exp_taylor_rs(nn_ptr y, ulong * error, nn_srcptr x, slong xn, ulong N)
void _arb_sin_cos_taylor_naive(nn_ptr ysin, nn_ptr ycos, ulong * error, nn_srcptr x, slong xn, ulong N)
void _arb_sin_cos_taylor_rs(nn_ptr ysin, nn_ptr ycos, ulong * error, nn_srcptr x, slong xn, ulong N, int sinonly, int alternating)
int _arb_get_mpn_fixed_mod_log2(nn_ptr w, fmpz_t q, ulong * error, const arf_t x, slong wn)
int _arb_get_mpn_fixed_mod_pi4(nn_ptr w, fmpz_t q, int * octant, ulong * error, const arf_t x, slong wn)
slong _arb_exp_taylor_bound(slong mag, slong prec)
void arb_exp_arf_bb(arb_t z, const arf_t x, slong prec, int m1)
void _arb_exp_sum_bs_simple(fmpz_t T, fmpz_t Q, flint_bitcnt_t * Qexp, const fmpz_t x, flint_bitcnt_t r, slong N)
Expand Down
1 change: 0 additions & 1 deletion src/flint/flintlib/functions/arb_poly.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ cdef extern from "flint/arb_poly.h":
void _arb_poly_mullow_block(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong n, slong prec)
void _arb_poly_mullow(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong n, slong prec)
void arb_poly_mullow_classical(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)
void arb_poly_mullow_ztrunc(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)
void arb_poly_mullow_block(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)
void arb_poly_mullow(arb_poly_t C, const arb_poly_t A, const arb_poly_t B, slong n, slong prec)
void _arb_poly_mul(arb_ptr C, arb_srcptr A, slong lenA, arb_srcptr B, slong lenB, slong prec)
Expand Down
10 changes: 5 additions & 5 deletions src/flint/flintlib/functions/arf.pxd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from flint.flintlib.types.arb cimport mag_t
from flint.flintlib.types.arf cimport arf_rnd_t, arf_srcptr, arf_t
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_t, mp_limb_t, mp_ptr, mp_size_t, mp_srcptr, slong, ulong
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_t, nn_ptr, nn_srcptr, slong, ulong
from flint.flintlib.types.fmpq cimport fmpq_t

# unknown type FILE
Expand Down Expand Up @@ -161,8 +161,8 @@ cdef extern from "flint/arf.h":
int arf_complex_mul(arf_t e, arf_t f, const arf_t a, const arf_t b, const arf_t c, const arf_t d, slong prec, arf_rnd_t rnd)
int arf_complex_mul_fallback(arf_t e, arf_t f, const arf_t a, const arf_t b, const arf_t c, const arf_t d, slong prec, arf_rnd_t rnd)
int arf_complex_sqr(arf_t e, arf_t f, const arf_t a, const arf_t b, slong prec, arf_rnd_t rnd)
int _arf_get_integer_mpn(mp_ptr y, mp_srcptr xp, mp_size_t xn, slong exp)
int _arf_set_mpn_fixed(arf_t z, mp_srcptr xp, mp_size_t xn, mp_size_t fixn, int negative, slong prec, arf_rnd_t rnd)
int _arf_get_integer_mpn(nn_ptr y, nn_srcptr xp, slong xn, slong exp)
int _arf_set_mpn_fixed(arf_t z, nn_srcptr xp, slong xn, slong fixn, int negative, slong prec, arf_rnd_t rnd)
int _arf_set_round_ui(arf_t z, ulong x, int sgnbit, slong prec, arf_rnd_t rnd)
int _arf_set_round_uiui(arf_t z, slong * fix, mp_limb_t hi, mp_limb_t lo, int sgnbit, slong prec, arf_rnd_t rnd)
int _arf_set_round_mpn(arf_t z, slong * exp_shift, mp_srcptr x, mp_size_t xn, int sgnbit, slong prec, arf_rnd_t rnd)
int _arf_set_round_uiui(arf_t z, slong * fix, ulong hi, ulong lo, int sgnbit, slong prec, arf_rnd_t rnd)
int _arf_set_round_mpn(arf_t z, slong * exp_shift, nn_srcptr x, slong xn, int sgnbit, slong prec, arf_rnd_t rnd)
25 changes: 8 additions & 17 deletions src/flint/flintlib/functions/arith.pxd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from flint.flintlib.types.flint cimport fmpz_struct, fmpz_t, mp_limb_t, mp_ptr, nmod_t, slong, ulong
from flint.flintlib.types.flint cimport fmpz_struct, fmpz_t, nmod_t, nn_ptr, slong, ulong
from flint.flintlib.types.fmpq cimport fmpq_poly_t, fmpq_struct, fmpq_t
from flint.flintlib.types.fmpz cimport fmpz_mat_t, fmpz_poly_t

Expand All @@ -7,7 +7,6 @@ from flint.flintlib.types.fmpz cimport fmpz_mat_t, fmpz_poly_t


cdef extern from "flint/arith.h":
void arith_primorial(fmpz_t res, slong n)
void _arith_harmonic_number(fmpz_t num, fmpz_t den, slong n)
void arith_harmonic_number(fmpq_t x, slong n)
void arith_stirling_number_1u(fmpz_t s, ulong n, ulong k)
Expand All @@ -28,11 +27,11 @@ cdef extern from "flint/arith.h":
void arith_bell_number_vec(fmpz_struct * b, slong n)
void arith_bell_number_vec_recursive(fmpz_struct * b, slong n)
void arith_bell_number_vec_multi_mod(fmpz_struct * b, slong n)
mp_limb_t arith_bell_number_nmod(ulong n, nmod_t mod)
void arith_bell_number_nmod_vec(mp_ptr b, slong n, nmod_t mod)
void arith_bell_number_nmod_vec_recursive(mp_ptr b, slong n, nmod_t mod)
void arith_bell_number_nmod_vec_ogf(mp_ptr b, slong n, nmod_t mod)
int arith_bell_number_nmod_vec_series(mp_ptr b, slong n, nmod_t mod)
ulong arith_bell_number_nmod(ulong n, nmod_t mod)
void arith_bell_number_nmod_vec(nn_ptr b, slong n, nmod_t mod)
void arith_bell_number_nmod_vec_recursive(nn_ptr b, slong n, nmod_t mod)
void arith_bell_number_nmod_vec_ogf(nn_ptr b, slong n, nmod_t mod)
int arith_bell_number_nmod_vec_series(nn_ptr b, slong n, nmod_t mod)
double arith_bell_number_size(ulong n)
void _arith_bernoulli_number(fmpz_t num, fmpz_t den, ulong n)
void arith_bernoulli_number(fmpq_t x, ulong n)
Expand All @@ -47,22 +46,14 @@ cdef extern from "flint/arith.h":
void arith_euler_number_vec(fmpz_struct * res, slong n)
double arith_euler_number_size(ulong n)
void arith_euler_polynomial(fmpq_poly_t poly, ulong n)
void arith_euler_phi(fmpz_t res, const fmpz_t n)
int arith_moebius_mu(const fmpz_t n)
void arith_divisor_sigma(fmpz_t res, ulong k, const fmpz_t n)
void arith_divisors(fmpz_poly_t res, const fmpz_t n)
void arith_ramanujan_tau(fmpz_t res, const fmpz_t n)
void arith_ramanujan_tau_series(fmpz_poly_t res, slong n)
void arith_landau_function_vec(fmpz_struct * res, slong len)
void arith_dedekind_sum_naive(fmpq_t s, const fmpz_t h, const fmpz_t k)
double arith_dedekind_sum_coprime_d(double h, double k)
void arith_dedekind_sum_coprime_large(fmpq_t s, const fmpz_t h, const fmpz_t k)
void arith_dedekind_sum_coprime(fmpq_t s, const fmpz_t h, const fmpz_t k)
void arith_dedekind_sum(fmpq_t s, const fmpz_t h, const fmpz_t k)
void arith_number_of_partitions_vec(fmpz_struct * res, slong len)
void arith_number_of_partitions_nmod_vec(mp_ptr res, slong len, nmod_t mod)
void arith_number_of_partitions_nmod_vec(nn_ptr res, slong len, nmod_t mod)
# void trig_prod_init(trig_prod_t prod)
# void arith_hrr_expsum_factored(trig_prod_t prod, mp_limb_t k, mp_limb_t n)
# void arith_hrr_expsum_factored(trig_prod_t prod, ulong k, ulong n)
# void arith_number_of_partitions_mpfr(mpfr_t x, ulong n)
void arith_number_of_partitions(fmpz_t x, ulong n)
void arith_sum_of_squares(fmpz_t r, ulong k, const fmpz_t n)
Expand Down
8 changes: 4 additions & 4 deletions src/flint/flintlib/functions/fmpq_mpoly.pxd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from flint.flintlib.types.flint cimport flint_bitcnt_t, flint_rand_t, fmpz_struct, fmpz_t, mp_limb_t, slong, ulong
from flint.flintlib.types.flint cimport flint_bitcnt_t, flint_rand_t, fmpz_struct, fmpz_t, slong, ulong
from flint.flintlib.types.fmpq cimport fmpq_mpoly_ctx_t, fmpq_mpoly_struct, fmpq_mpoly_t, fmpq_poly_struct, fmpq_poly_t, fmpq_struct, fmpq_t
from flint.flintlib.types.fmpz cimport fmpz_mpoly_struct
from flint.flintlib.types.mpoly cimport ordering_t
Expand Down Expand Up @@ -95,9 +95,9 @@ cdef extern from "flint/fmpq_mpoly.h":
void fmpq_mpoly_sort_terms(fmpq_mpoly_t A, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_combine_like_terms(fmpq_mpoly_t A, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_reverse(fmpq_mpoly_t A, const fmpq_mpoly_t B, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bound(fmpq_mpoly_t A, flint_rand_t state, slong length, mp_limb_t coeff_bits, ulong exp_bound, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bounds(fmpq_mpoly_t A, flint_rand_t state, slong length, mp_limb_t coeff_bits, ulong * exp_bounds, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bits(fmpq_mpoly_t A, flint_rand_t state, slong length, mp_limb_t coeff_bits, mp_limb_t exp_bits, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bound(fmpq_mpoly_t A, flint_rand_t state, slong length, ulong coeff_bits, ulong exp_bound, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bounds(fmpq_mpoly_t A, flint_rand_t state, slong length, ulong coeff_bits, ulong * exp_bounds, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_randtest_bits(fmpq_mpoly_t A, flint_rand_t state, slong length, ulong coeff_bits, ulong exp_bits, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_add_fmpq(fmpq_mpoly_t A, const fmpq_mpoly_t B, const fmpq_t c, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_add_fmpz(fmpq_mpoly_t A, const fmpq_mpoly_t B, const fmpz_t c, const fmpq_mpoly_ctx_t ctx)
void fmpq_mpoly_add_ui(fmpq_mpoly_t A, const fmpq_mpoly_t B, ulong c, const fmpq_mpoly_ctx_t ctx)
Expand Down
Loading

0 comments on commit 242c48e

Please sign in to comment.