FLINT (Fast Library for Number Theory)
C C++ TeX CMake Makefile Shell
Clone or download
Pull request Compare This branch is 543 commits ahead of fredrik-johansson:trunk.
Permalink
Failed to load latest commit information.
CMake CMake: Add FindXXX modules Mar 2, 2018
aprcl Merge branch 'trunk' of https://github.com/wbhart/flint2 into trunk Jul 23, 2016
arith Merge pull request #294 from isuruf/dll2 Oct 11, 2016
d_mat Remove traces, fix memory leaks, fix bug in d_mat_init, fix segfault. Oct 20, 2016
d_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
doc Merge pull request #450 from videlec/makefile_LD_LIBRARY_PATH May 4, 2018
double_extras replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
examples replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fft Fix some typos in README. Apr 25, 2018
flintxx replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpq fmpq_set_str May 4, 2018
fmpq_mat fmpq_mat_kronecker -> fmpq_mat_kronecker_product Jan 19, 2018
fmpq_mpoly update docs for random generation Jul 13, 2018
fmpq_poly various fixes to fmpq_poly_set_str May 4, 2018
fmpq_vec fixing minor issues Sep 7, 2016
fmpz Fix some doc strings and add fmp{p|q}_mpoly to doc build Apr 20, 2018
fmpz_factor allocate space for result and check B1 <= B2 Apr 12, 2018
fmpz_lll Fix t-heuristic_dot. Feb 17, 2017
fmpz_mat latex typo May 20, 2018
fmpz_mod_poly Added docs May 27, 2018
fmpz_mod_poly_factor Strengthen distinct degree tests. Feb 17, 2017
fmpz_mpoly update docs for random generation Jul 13, 2018
fmpz_poly Remove unistd.h from windows tests Mar 2, 2018
fmpz_poly_factor One more helper Jan 16, 2017
fmpz_poly_mat fix #386 Nov 13, 2017
fmpz_poly_q Fix bug in fmpz_poly_q/clear. Aug 2, 2017
fmpz_vec add fmpz_vec Apr 10, 2018
fq Added docs May 27, 2018
fq_mat Add inv for fq_(nmod_)mat Jan 9, 2018
fq_mat_templates Add missing \n's in test code Jan 9, 2018
fq_nmod Added docs May 27, 2018
fq_nmod_mat Add inv for fq_(nmod_)mat Jan 9, 2018
fq_nmod_poly Fix documentation: s/res/rop/ when needed. May 12, 2018
fq_nmod_poly_factor replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_nmod_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_poly Fix documentation: s/res/rop/ when needed. May 12, 2018
fq_poly_factor replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_poly_factor_templates Fix factorization over finite fields Jan 12, 2017
fq_poly_templates Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_templates Improved tests May 26, 2018
fq_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_vec_templates replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech Added docs May 27, 2018
fq_zech_mat replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech_poly Fix documentation: s/res/rop/ when needed. May 12, 2018
fq_zech_poly_factor replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
interfaces replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
long_extras Fix function signature mismatch Nov 6, 2016
mpf_mat replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpf_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpfr_mat replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpfr_vec replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpn_extras use flint_mpn_copyi as per instruction Apr 13, 2018
mpoly add fmpz_mpoly_gcd_zippel Jul 11, 2018
nmod_mat Add missing \n's in test code Jan 9, 2018
nmod_mpoly update docs for random generation Jul 13, 2018
nmod_poly Added docs May 27, 2018
nmod_poly_factor Strengthen distinct degree tests. Feb 17, 2017
nmod_poly_mat replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_vec Merge branch 'trunk' into license3 Apr 28, 2016
padic replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padic_mat Remove old, unused Makefiles. Oct 20, 2017
padic_poly Remove old, unused Makefiles. Oct 20, 2017
perm Modify solve_fflu.c to return determinant rather than determinant up … Aug 31, 2017
profile replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
qadic Add build directory to includes Mar 30, 2018
qsieve Fixed doc parser / TeX compilation errors Oct 12, 2017
test Add test code and docs for sub_dddmmmsss and cleanup. Mar 2, 2017
ulong_extras Prevent infinite loop in n_sqrtmod when p is not prime. Jan 3, 2018
.appveyor_msvc_build.cmd appveyor: comment out tests Apr 12, 2016
.appveyor_msys_build.sh Update MPFR. Jan 4, 2018
.build_dependencies simplify travis script Apr 21, 2018
.build_dependencies.cmd Attempt to force a rebuild of the cache (again). Jan 22, 2018
.check_post_install post install check Apr 20, 2018
.gitattributes Added gitattributes. Jan 17, 2011
.gitignore Ignore build directory Mar 2, 2018
.travis.yml simplify travis script Apr 21, 2018
AUTHORS Update AUTHORS. Aug 5, 2016
CMakeLists.txt cmake fixes for *nix. Mar 30, 2018
INSTALL update documentation Apr 21, 2018
LICENSE changed LICENSE file to contain LGPL 2.1, change README Apr 28, 2016
Makefile.in use '=' for string comparison in bash and not '-eq' May 6, 2018
Makefile.subdirs get rid of DLPATH Mar 13, 2018
NEWS Update NEWS. Aug 13, 2015
NTL-interface.h Remove NTL_CLIENT from NTL-interface.h Jun 1, 2016
README fix README Apr 28, 2016
appveyor.yml Try GCC fix Mar 3, 2018
aprcl.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
arith.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
arithxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
clz_tab.c change DLL build to use declspec annotations rather then a DEF file Aug 20, 2014
code_conventions.txt Added note about FLINT_DLL to code_conventions.txt. Aug 31, 2014
config.h.in Add config.h.in Mar 2, 2018
configure Merge pull request #450 from videlec/makefile_LD_LIBRARY_PATH May 4, 2018
d_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
d_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
double_extras.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
exception.c Revert "declare abort functions noreturn; fixes #327" Sep 4, 2017
exception.h First attempt at divexact_array. Mar 3, 2017
fft.h Parallelise the FFT with openmp. Jan 24, 2017
fft_tuning32.in mpir -> gmp replacements May 7, 2013
fft_tuning64.in mpir -> gmp replacements May 7, 2013
flint.h Fix export of symbols in flint.h. Dec 8, 2017
flint.supp Adds a suppression file "Invalid Read"s by __gmpn_copyi. Dec 28, 2011
flintxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpq.h fmpq_set_str May 4, 2018
fmpq_mat.h fmpq_mat_kronecker -> fmpq_mat_kronecker_product Jan 19, 2018
fmpq_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpq_mpoly.h comments and cleanup Jul 13, 2018
fmpq_poly.h various fixes to fmpq_poly_set_str May 4, 2018
fmpq_polyxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpq_vec.h Merge pull request #282 from videlec/num_real_roots_sturm Sep 7, 2016
fmpqxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz-conversions-gc.in Switched to using WORD/UWORD instead of L and UL. Oct 4, 2013
fmpz-conversions-reentrant.in Switched to using WORD/UWORD instead of L and UL. Oct 4, 2013
fmpz-conversions-single.in Switched to using WORD/UWORD instead of L and UL. Oct 4, 2013
fmpz.h update fmpz Apr 10, 2018
fmpz_factor.h random state accessible for julia Oct 18, 2017
fmpz_factorxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_lll.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_mat.h implement fmpz_mat_kronecker_product Jan 19, 2018
fmpz_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_mod_poly.h Added functions to draw random primitive polynomials May 26, 2018
fmpz_mod_poly_factor.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_mod_poly_factorxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_mod_polyxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_mpoly.h comments and cleanup Jul 13, 2018
fmpz_poly.h Remove inexact part of sqrt_KS, which can't work. Jan 8, 2018
fmpz_poly_factor.h Speed up row removal and remove some unneeded includes and updated co… Oct 22, 2016
fmpz_poly_factorxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_poly_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_poly_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_poly_q.h Add more missing FLINT_DLL Nov 6, 2016
fmpz_poly_qxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_polyxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpz_vec.h add fmpz_vec Apr 10, 2018
fmpz_vecxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fmpzxx.h Revert last commit. Oct 16, 2017
fprintf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_mat_templates.h Add inv for fq_(nmod_)mat Jan 9, 2018
fq_nmod.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_nmod_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_nmod_poly.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_nmod_poly_factor.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_nmod_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_poly.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_poly_factor.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_poly_factor_templates.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_poly_templates.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_templates.h Added functions to compute multiplicative order in GF May 26, 2018
fq_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_vec_templates.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech.h Added functions to draw random primitive polynomials May 26, 2018
fq_zech_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech_poly.h Changed ctx_modulus macros to inlines, cleaned the poly_set_*_poly code Aug 3, 2017
fq_zech_poly_factor.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fq_zech_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
fscanf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
gettimeofday.c Add windows gettimeofday Mar 2, 2018
gettimeofday.h Add windows gettimeofday Mar 2, 2018
gmpcompat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
hashmap.c Fix bugs in hashmap implementation and commit files! Nov 23, 2016
hashmap.h Fix a problem for some C compilers. Mar 8, 2017
inlines.c Doc and reshuffle Oct 18, 2017
long_extras.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
longlong.h add smul_ppmm x86 asm Nov 13, 2017
memory_manager.c New block based caching mechanism for fmpz's. Jul 14, 2017
mpf_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpf_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpfr_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpfr_vec.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpn_extras.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
mpoly.h add fmpz_mpoly_gcd_zippel Jul 11, 2018
nmod_mat.h Add more missing FLINT_DLL Nov 6, 2016
nmod_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_mpoly.h comments and cleanup Jul 13, 2018
nmod_poly.h Added functions to draw random primitive polynomials May 26, 2018
nmod_poly_factor.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_poly_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_poly_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_polyxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
nmod_vec.h fix NMOD_RED2 macro Apr 23, 2018
nmod_vecxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padic.h Add more missing FLINT_DLL Nov 6, 2016
padic_mat.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padic_matxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padic_poly.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padic_polyxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
padicxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
perm.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
permxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
printf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
profiler.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
profiler.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
qadic.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
qadicxx.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
qsieve.h Add FLINT_DLL to prototypes Mar 2, 2018
scanf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
sprintf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
sscanf.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
templates.h replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016
test_helpers.c Add more missing FLINT_DLL Nov 6, 2016
thread_support.c Add a bunch of basic functions for mpoly and clean up a little. Sep 14, 2016
todo.txt update todo.txt Mar 22, 2018
ulong_extras.h Added n_urandint and its test function Aug 19, 2017
version.c replace GPL with LGPL in header of *.c/h/cpp/txt files; part of #244 Apr 26, 2016

README

FLINT 2
=======

FLINT (Fast Library for Number Theory) is a C library in support of computations
in number theory. It's also a research project into algorithms in number theory.

FLINT 2 is a complete rewrite of the FLINT library from scratch. It includes
much cleaner code and in many cases much faster algorithms and implementations.

At this stage FLINT consists mainly of fast integer and polynomial 
arithmetic and linear algebra. In the future it is planned that FLINT will 
contain algorithms for algebraic number theory and other number theoretic
functionality.

William Hart -- 16 Jan 2011.

License
-------
This version is distributed under LGPL 2.1 (GNU Lesser General Public License).
See the LICENSE file.