FLINT is a C library for doing number theory, freely available under the GNU LGPL. Its features include:
- Integers, rationals, integers mod n, finite fields, p-adic numbers
- Polynomials (univariate and multivariate), power series, matrices and linear algebra
- Integer and polynomial factorisation and primality testing
- Number-theoretic special functions
- Algebraic number fields via the add-on Antic library
- Algebraic, real and complex numbers via the add-on Arb and Calcium libraries
- Optimised for all operand sizes (single-word to multi-gigabyte)
- Extensively documented and tested
- Runs on many platforms (including Linux, macOS and Windows on common hardware configurations), though currently mostly optimised for x86 and x86-64 CPUs. FLINT depends on GMP and MPFR.
FLINT has been used for large scale research computations (for example: A Trillion Triangles) and is used as a back-end library by a number of computer algebra systems including SageMath, Oscar, Nemo, Singular, Macaulay2, Maple and Wolfram Mathematica. Bindings are available for several programming languages.