FLINT 3.7 (in development)
FLINT 3.7.0 (in development)#
Performance#
- Replace GMP's
mpz_gcd,mpz_gcdextandmpz_invertinfmpz_gcd,fmpz_xgcd,fmpz_invmodand related functions by ports of GMP's half-GCD code using FLINT's multiplication and FFTs. GCDs are typically 1.1x faster than with GMP 6.3.0 up to 1000 limbs and 2x faster at limbs, extended GCDs up to 3x faster. Addsflint_mpz_gcd,flint_mpz_gcdext,flint_mpz_invert,flint_mpn_gcdext,_flint_mpn_gcd_inplaceand_flint_mpn_gcdext_inplace[FJ]. flint_mpn_gcd_fullis renamedflint_mpn_gcdand handles small operands faster.flint_mpn_gcd_fullandflint_mpn_gcd_full2remain as deprecated macros [FJ].- Faster contents of integer vectors (
_fmpz_vec_contentand the contents and canonical forms offmpz_poly,fmpq_poly,fmpz_mat,fmpz_mpoly,fmpq_mpolyandfmpz_mpoly_q), using divisibility tests instead of chained GCDs: 10x to 75x faster for long vectors of single-limb entries with a content other than 1. Addsflint_mpn_gcd_vec_1andflint_mpn_gcd_vec[FJ]. - Faster LCMs of integer vectors and clearing of denominators (
_fmpz_vec_lcm,_fmpq_vec_get_fmpz_vec_fmpz, thefmpq_mat_get_fmpz_matfunctions and their uses infmpq_polyandgr): for 1000 denominators that are 1, equal or divisors of a common denominator, the LCM is 5x to 18x faster and the clearing of denominators 2x to 6x faster. Adds_fmpz_vec_lcm_stridedand_fmpq_vec_get_fmpz_vec_scaled[FJ].
Bug fixes#
- Fix the modular inverse in the curve selection of
fmpz_factor_ecm, which was wrong when its cofactor had fewer limbs than the modulus (wasting the curve), and which could call GMP'smpn_gcdextwith its operands in the wrong order [FJ]. - Fix crashes in finite-field multivariate Wang and Zippel factorization when an evaluation gives incompatible leading coefficient divisors [#2905].
- Fix
arb_powlosing containment when the output aliases an inexact exponent and the base interval has a zero endpoint [#2879]. - Fix
arb_powreturning nan for a small exact integer exponent when the base has a zero midpoint and a nonzero radius [#2908].
Cite this page
The FLINT team, “FLINT 3.7 (in development),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/history/flint3/v3-7.html (generated 2026-11-02).
@misc{flint-doc-history-flint3-v3-7,
author = {{The FLINT team}},
title = {{FLINT 3.7 (in development)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/history/flint3/v3-7.html},
note = {Generated 2026-11-02}
}