Skip to content
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

Bump FLINT to 3.2.0-rc1 #264

Merged
merged 7 commits into from
Mar 5, 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
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
Loading