[flint] annotated tag upstream/2.4.5 created (now 29d76c5)
Julien Puydt
julien.puydt at laposte.net
Tue Feb 17 17:15:43 UTC 2015
This is an automated email from the git hooks/post-receive script.
jpuydt-guest pushed a change to annotated tag upstream/2.4.5
in repository flint.
at 29d76c5 (tag)
tagging c577b3cb2c41a84ff8dacbd39b9e1dc5839c2ee6 (commit)
tagged by Julien Puydt
on Tue Feb 17 17:00:49 2015 +0100
- Log -----------------------------------------------------------------
Upstream version 2.4.5
Andres W. Goens Jokisch (41):
First commit to fq
Minor changes and indenting
Added basic arithmetic for Fq, using qadic.
Forgot one file
Merge branch 'padic' of https://github.com/SPancratz/flint2 into fq
Merge branch 'padic' of https://github.com/SPancratz/flint2 into fq
added norm, frobenius. (small change: norm, trace return an fq_t as well, not a padic_t)
Merge branch 'padic' of https://github.com/SPancratz/flint2 into fq
corrected a few typos, tried to investigate a mistake in the tests to inv and mul
fixed error where random non-well defined fq elements would be generated.
added tests for frobenius, norm and trace
added benchmarks for mul and inv
cleanup, mainly on Bill's feedback
draft .h file for fq_poly
added fq_poly_change_ctx
small change to signature of init2
changed benchmarks so they would not take into acount the time taken to generate the random examples
Basic fq_poly functionality. Compiles, but does not work yet.
Merge branch 'padic' of https://github.com/SPancratz/flint2 into fq
progress made on basic memory management. still not working though (->ctx comparison seems to be broken)
t-add working now.
minor fix on both ctx_equal functions.
minor edit
added documentation for fq_poly
reverted changes to include context comparison in qadic, padic
Merge branch 'padic' of https://github.com/SPancratz/flint2 into fq
added substraction, negative including test and doc
adds set and get coefficents for fq_poly
corrects residual errors from ctx_equal
small typo
Merge branch 'fq' of https://github.com/SPancratz/flint2 into fq
adds gcd
adds documentation and test to gcd_euclidean, make_monic. make_monic not working now: segfault which traces back to a null pointer trying to be compared by fmpz_equal
Merge branch 'fq' of https://github.com/SPancratz/flint2 into fq
corrected profiling for fq
Merge branch 'fq' of https://github.com/SPancratz/flint2 into fq
fixed memory problem in make_monic
fixes memory problem and inv. problem on gcd_euclidean. still not working though: (cannot find coprime polynomials)
rewrote gcd_euclidean, now working
fixed headers for replacements of long -> len_t
updated replace_longs script for removing typo that forgot documentation
Andres Wilhelm Goens Joksich (19):
Merge remote-tracking branch 'bill/trunk' into origin/fq
updated makefiles in directories
extended documentation
added tests to fq_mul_ui, si and fmpz
forgot one
added test for hamming weight + fixed bug in hamming weight code
mpz_likely_prime and mpn_tdiv_q adapted for gmp
mpn_rrandom -> flint_mpn_rrandom, mpn_urandomb -> flint_mpn_urandomb, but still has a memory problem
fixed memory problems on flint_mpn_urandomb
documented replacement functions mpn_rrandom, mpn_urandomb, and mpn_tdiv_q
just to save the script for replacing
forgot headers
forgot docs!
last few changes to script. replacement ran: long -> len_t, still has to be changed on comments!
finished long->len_t, it builds
fixed comments
changed conventions to reflect long -> len_t
Merge remote-tracking branch 'bill/trunk' into mingw
removed files added by the script
Andy Novocin (31):
Added in fmpz_mat fread.c, test/t-print_read.c, doc string, header adjustment
Improved the fmpz_poly_hensel.c example function
Fixed minor typos in fmpz_poly_hensel.c
added recursive checking to fmpz_poly_hensel.c
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
added testing in fmpz_poly_hensel.c example
adapted fmpz_poly_hensel.c to testing hensel_start code
added squarefree factoring code to examples
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
not working yet but working on zassenhaus
complete up to getting to compile in examples zassenhaus
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
code compiles saving progress before porting to main areas
zassenhaus now handles a nonmonic nontrivial example
moved fmpz_poly_factor_squarefree to fmpz_poly_factor module
added template of test function for squarefree factor
made zassenhaus code compatible with ISO C90
ported zassenhaus from examples into fmpz_poly_factor module, adjusted example files accordingly
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
added zassenhaus.c
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
WARNING unflagged printfs inserted to zassenhaus and zassenhaus_recombination for bughunting
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into hensel_branch
Merge branch 'trunk' of git://github.com/SPancratz/flint2 into hensel_branch
fixed the one hensel example
Curtis Bright (13):
fix missing backslashes in Makefile.in
remove unused variable
fix bell_number_bsplit on n=0
constant doesn't fit in signed long under 32 bit system
ensure poly is not zero before making monic
fix typo in mpn_gcd_full doc
fix bit unpacking problem
ensure poly is not zero before making monic
fix typos
make outer prime-finding loop actually useful
include string.h for memset
fix qsieve on 32-bit systems
correctly handle 0^0
Dana Jacobsen (2):
Allow large bases
Rewrite n_is_prime and n_is_probabprime
Daniel Woodhouse (6):
Copied Bill's makefile. SKIP THIS COMMIT.
Merge commit 'origin/roadmap' into nmod_mpoly
Added initialization, some memory management, and a random nmod_mpoly function to
I have implemented the heap multiplication algorithm, given it a test
Fixed a bug in nmod_mpoly_mul_heap, added CRT to fmpz and used
I have updated the .txt files and I think I have added all the files I have modified.
François Bissey (1):
Mac OS X fix: get a correct install_name for libflint.dylib
Fredrik Johansson (723):
added implementation of Ramanujan tau function
add an _fmpz_vec_sort function, just wrapping qsort
add functions for computing the divisors and divisor sums of integers
add n_nth_prime, n_nth_prime_bounds, n_prime_pi_bounds and refactor some code
remove unused math.h references
Merge commit '223b1b87868' into ulong
fix ansi compliance
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into ulong
Merge branch 'orm2' into ulong
fix fmpz_set_si of LONG_MIN
add mpn_extras module with preliminary factoring helper functions
add preliminary fmpz factoring code to the arith module
consistently use longs in the factoring code
fix naming mpn_factor_* and add missing mpn_extras.h
fix mpn_extras.txt
update divisors, divisor_sigma, ramanujan_tau to permit fmpz instead of long
use balanced product for divisor_sigma
add n_euler_phi, n_moebius_mu, n_moebius_mu_vec arithmetic functions
add n_is_squarefree function (missing from last commit)
remove an unused variable
Add fmpz_euler_phi, fmpz_moebius_mu plus helper function fmpz_abs_fits_ui.
Asymptotically fast computation of harmonic numbers.
add an fmpz_fac_ui function
add an fmpz_fac_ui function
add rudimentary fmpz_mat_mul (needed for a Stirling number test)
implement arith functions for computation of Stirling numbers
Merge remote branch 'sebastian/seb' into factor
update arith tests
Improvements to Stirling number functions.
Merge remote branch 'sebastian/seb' into arith
fmpz_mat linear algebra functions, initial checkin
Improvements to fmpz_mat solving; added matrix inversion.
avoid unnecessary allocation in _fmpz_mat_solve_fflu
tidy fmpz_mat documentation
fix parentheses in FLINT_REENTRANT macro
create an nmod_mat module, with several multiplication algorithms
some fmpz_mat bugfixes and more tests; add an fmpz_mat_equal() function
improve and greatly simplify nmod_mat multiplication code; some more nmod_mat functions and tests
Add n_nextprime (ported from flint1)
Ported fmpz CRT function from FLINT 1
fix a bug in fmpz_mat_solve_mat test code that prevented all cases from being tested
fix a documentation typo
Add nmod_mat solve/det/rank/inv functions and tests
Add Strassen multiplication for nmod_mat (ported from FLINT 1)
Implement multimodular multiplication for fmpz_mat matrices
Automatic selection between fmpz_mat_mul_classical and fmpz_mat_mul_multi_mod; some code refinements
some matrix code cleanup
merge sebastian/seb
minor fmpz_mat doc update
Merge remote branch 'sebastian/seb' into matrix
rename fmpz_mat_copy -> fmpz_mat_set
add fmpz_mat_entry macro and update fmpz_mat documentation
implement computation of vectors of Bernoulli numbers
combine small factors to make bernoulli_vec faster for n < 1000
fix missing include
implement computation of Bernoulli polynomials
include documentation for Bernoulli polynomials
update todo.txt, organising into sections and adding several items for arith/nmod_mat/fmpz_mat
add fmpz efficiency items to todo.txt
add n_randprime (based on flint 1.6), n_randtest_prime and use for nmod_mat tests
make n_nextprime raise an exception when no next prime exists
replace remaining instances of n_nextprime with n_randtest_prime
merge weirdness
fix 32/64 bit limits in harmonic.c
Merge remote branch 'sebastian/seb'
initial checkin of an fmpq module
add a bit of documentation
fix _fmpq_reconstruct_fmpz not to return the opposite of what the documentation says it should
fix some bugs and add tests for several fmpq functions
fix bugs in fmpq_reconstruct_fmpz and write tests for the function
add test and documentation entry for n_sizeinbase
fix fmpz_mat_set and fmpz_mat_zero to operate on rows; add fmpz_mat_zero proto and tests
add mpz style fmpz_fdiv_ui for computing remainder without setting result in an fmpz
include fmpz_mat_set as promised in a previous commit
add simple incremental fmpz CRT functions, with new test code
Merge remote branch 'origin/master'
implement multimodular fmpz_mat determinant computation
add some helper functions to cleanup code
make nmod_mat Gauss elimination faster for small moduli; fix fmpz_mat_det_multimod to take advantage of this
faster two-limb unreduced nmod_mat Gaussian elimination; added some utility functions and extended matrix sizes in tests
add example CRT programs and some more documentation in fmpz.txt
make CRT example programs interactive
fix printing
simplify fmpz_multi_mod_ui and fix segmentation fault when input is larger than the product of moduli
simplify fmpz multi mod and CRT interface
add a todo item
speed up backward/forward substitution in nmod_mat solving
Implement computation of Bell numbers
make test a bit more solid
Add a function fmpz_bernoulli_denom for computing denominators of Bernoulli numbers
Implement fmpz_bernoulli_vec_2 for faster computation of Bernoulli numbers using high-order multisection + fast floating-point canonicalisation
trivial comment edit
small fix
add a function fmpz_mat_det_bound
Update fmpz_mat_det_multi_mod to support a proven bound; otherwise require at least 100 bits of safety. Add documentation.
small fix to allow docs to build
fix example
Cleanup and reorganise fmpz_mat_det functions; add profile code and enable automatic use of det_multi_mod
Enhance _fmpz_mat_rowreduce to return the permutation order; tweak interface for several related functions
Add fmpz_mat add/sub/neg functions
Add fmpz_mat_unit for creating the unit/identity matrix
Implement fmpz_mat_kernel for computing right kernel/nullspace
Merge branch 'master' into fast_bernoulli
Implement a function nmod_poly_integral
Implement nmod_poly_log_series for logarithm series expansion
merge
fix fmpz_mat code accessing mat->entries (one case in solve_mat remaining)
Add a function for computing factorials mod p
small code simplification
Implement vector computation of Euler numbers
Merge branch 'master' into fast_bernoulli
Implemented the zeta function algorithm for computing isolated Bernoulli numbers
Implemented the zeta function algorithm for isolated Euler numbers
implement multimodular vector bernoulli number computation
Cleanup Bernoulli numbers and add profile code
Implement Euler polynomials
fix typo
Implement Swinnerton-Dyer polynomials
Implement fmpz_bin_uiui for binomial coefficients
Implement fmpz_mul2_uiui and fmpz_divexact2_uiui
Implement Legendre polynomials
fix typo
use fmpz_mul/divexact2_uiui in bernoulli_polynomial
update todo.txt entries
Avoid a temporary allocation in nmod_poly_inv_series_newton
Implement nmod_poly_exp_series, using Newton iteration
make nmod_poly_inv_series_newton more memory-efficient -- only need n temp limbs
Avoid some redundant operations in nmod_poly_exp_series
Include missing test file for nmod_poly_integral
Implement multimodular algorithm for Bell numbers; rename Bell number functions
Include files missing in last commit
avoid division by zero in bell_number_size when n = 0
fix and add tests for log_series_monomial_ui
don't declare this function as static, since I may need to call it elsewhere...
Add nmod_poly_exp_series_monomial_ui
Implement a superfast basecase version of nmod_poly_exp_series
speedup n_factorial_mod2_preinv for special cases
Implement partition function p and Landau's function (vector versions)
Implement sqrt_series and invsqrt_series for nmod_poly
Add some todo items
some nmod_poly.txt cleanup
Implement an fmpq_poly_integral function
Implement fmpq_poly_log_series
Implement asin, asinh, atan, atanh for nmod_poly
Implement sin, cos, tan series for nmod_poly
Implement cosh, sinh, tanh series for nmod_poly
use left-to-right exponentiation in Euler product (slight speedup of Bernoulli and Euler numbers)
Implement exp_series for fmpq_polys
Implement atan series for fmpq_poly
Improve efficiency of nmod_poly invsqrt_series and tan_series
Implement sqrt and invsqrt series for fmpq_poly
Implement asin, asinh, atanh series for fmpq_poly
fix memory leak in fmpq_poly_exp_series
Implement fmpq_poly_tan_series
Implement cos, sin series for fmpq_poly
Implement sinh, cosh, tanh series for fmpq_poly
Fix warnings (unused variables, missing include, one type error)
possible workaround for mpn_divisible_1_p
fix several valgrind-reported issues
oops, forgot to switch off debug mul_classical
fix for nmod_poly_log_series too
fix more valgrind reported issues
fix memory leak in det_multi_mod and several more minor issues detected by valgrind
fix one 32-bit issue and more valgrind complaints
merge from master
merge from master
experimental new fmpq_mat module
add fmpq randbits methods
fmpq_mat inv, solve_mat, and tests
Implement fmpq_mat_rref
Add lots of fmpz_mat utility functions
Implement fmpz_mat_solve_bound for bounding solutions of nonsingular systems
Implement Dixon's p-adic algorithm and fast matrix rational reconstruction for nonsingular fmpz_mat solving (initial code)
Add fmpq module documentation; also add fmpq_inv with tests
fmpq_mat_get_fmpz_mat_rowwise: allow den to be NULL
remove spurious copyright lines
fmpq_mat solve tweaks; provide separate 'dixon' and 'fraction_free' versions
slightly speed up nmod_mat arithmetic with a full limb modulus by adding an add_sssaaaaaa macro to longlong.h (warning: not tested on 32-bit)
Use fmpq type for Bernoulli number and harmonic number functions; some function renaming
rename Stirling number functions
add stirling_matrix example program
Add some more fmpq_mat utility functions; documentation for fmpq and fmpq_mat modules
add some introductory text about fmpq and fmpq_mat to the docs
speed up fmpq_mul
faster fmpq add, sub, addmul, addsub; improve fmpq_randtest to generate more special values (needs more work)
slightly faster fmpq_mat 2x2 inverse
fix memory leak and add tests for fmpz_mat_scalar_mod_fmpz
make fmpz_mat_solve_dixon able to recognise singular matrices; add function to documentation
minor efficiency tweak in fmpz_CRT_ui
add a convenience function fmpz_set_ui_mod
make fmpz_mat_set_nmod_mat consistent with the fmpz function by setting a signed value; add separate fmpz_mat_set_nmod_mat_unsigned
add doc
add fmpz_poly_get/set_nmod_poly methods
implement CRT_ui for fmpz_polys
add CRT_ui functions for fmpz_mat
inline fmpz neg, set_si, set_ui
rm unused variables
constify _fmpq_print
add fmpq_div; tune fmpq_set_si
add fmpq_mat set, zero
add generation of Hilbert matrices
add fmpq_mat_rref_classical (obviously slow, intended for testing purposes only)
fix and add tests for fmpq_div
debug and add tests for fmpq_mat_rref functions
fix major fmpq_mat memory leak...
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2
fmpq_mat documentation edits; some code refactoring
use fmpq_mat_rref_classical for dim <= 2
(implement an inlined version of fmpz_mat_mul_classical todo: docs, use in fmpz_mat_mul)
fmpz_mat_mul tuning
add fmpz_mat_rref_fraction_free; some renaming and tweaking of utility functions
small doc clarification
implement Calkin-Wilf tree enumeration of the rationals for the fmpq type
minor tidying
provide fmpq_mat_solve functions with success return values and test them; fix some function signatures
some TODO updates
impl fmpq_height, _height_bits, enumeration in height order
fix ulong_extras.txt
add missing fmpq doc entries
minor doc tweak
add return code for fmpq_mat_inv; update tests and docs
typos
merge from sebastian
merge from sebastian
Merge remote branch 'sebastian/seb'
Merge remote branch 'sebastian/seb'
fix fmpz_poly_gcd_heuristic bug for length == 2 case
initial checkin of an fmpz_poly_mat module (many tests and docs needed)
experimental KS fmpz_poly_mat multiplication code (currently broken, at least in the signed case)
fix non-underscore versions of fmpz_poly_bit_pack functions, and add tests+docs
fix and add tests for mul_KS; automatically use it for large matrices
add todo items
add evaluate_fmpz and several basic tests for fmpz_poly_mat
add docs for fmpz_poly_mat module
Merge remote branch 'origin/master'
Merge remote branch 'sebastian/seb'
Merge remote branch 'sebastian/seb'
add _fmpz_poly_CRT_ui_precomp, and document both CRT functions
Add fmpz_lcm
add _fmpz_vec_lcm
Add fmpz_poly multipoint interpolation and evaluation (naive algorithms only)
update todo.txt
Add fmpq_poly_interpolate_fmpz_vec, and move implementation to the fmpq_poly module
Add fmpz_poly_mat_det_interpolate, and some todo items
merge from master
tidy code for fmpq_mat_get_fmpz_mat_ functions
rename _mat_unit functions to _mat_one for consistency
add missing Makefile for fmpz_poly_mat
fix an fmpz variable not being inited/cleared in a test
update doc version number and date; add fmpz_poly_mat intro
better doc introduction for fmpq
fix a typo
fix swallowed documentation sections, and add _fmpz_vec_lcm entry
add _nmod_vec_dot_bound_limbs
add nmod_mat_solve_tril (fast recursive lower triangular solving), and a randtril function
add _nmod_vec_dot functions
use _nmod_vec_dot in nmod_mat multiplication; cleanup code and fix stupid slowness in solve_tril
add nmod_mat_solve_triu
add nmod_mat_addmul and nmod_mat_submul, plus some bugfixes
improve introduction for the nmod_mat_t module in the manual
new in-progress nmod_mat LU decomposition (cleaner code, handling arbitrary rank)
implement asymptotically fast nmod_mat LU decomposition (not used by anything yet)
use nmod_mat_lu for nmod_mat_det; various bugfixes
add nmod_mat_zero, nmod_mat_rref, nmod_mat_nullspace
remove commented out code and notes
update nmod_mat_rank to use new LU decomposition
use nmod_mat_lu for solve, solve_mat and inv; some fixing
nuke the old nmod_mat_rowreduce functions
update nmod_mat/doc/nmod_mat.txt
afford a slightly larger modulus in fmpz_mat_solve_dixon (todo: move this computation to a function nmod_mat or whatever)
remove obsolte file solve_lu_precomp.c
tidy nmod_mat.txt
make nmod_mat_rref faster
factor out nmod_mat optimal modulus
add Sebastian's perm module
add _perm_parity to the perm module and use it in various functions
fix an uninitialized variable
rm unused file pivot.c
add perm tests
fix function signature
add fmpz_mat_det_divisor for heuristically computing divisor of det(A)
Faster modular fmpz_mat determinant computation using the lcm trick
fix typo
update some todo items
improve fmpz_mat_solve_dixon to use multimodular multiplication
rewrite fmpq_reconstruct_fmpz to be cleaner, faster, and allow custom N, D bounds (functions to be renamed)
use the normal addmul function in nmod_mat_mul_strassen
rename nmod_mat_solve, solve_mat -> solve_vec, solve
add nmod_mat neg, scalar_mul, and fix bug with m x 0 x n matrix multiplication
fix n x 0 x m mul bug also in fmpz_mat, fmpq_mat and fmpz_poly_mat modules
make functions in perm.h __inline__ to avoid gcc warnings
a much faster fmpz_poly_interpolate_fmpz_vec
tweak fmpz_poly_interpolate_fmpz_vec and strengthen tests
add nmod_poly_evaluate_nmod_vec and nmod_poly_interpolate_nmod_vec
add todo items
add nmod_poly_product_roots_nmod_vec
implement nmod_poly_div_root for fast division by (x-c)
add barycentric version of nmod_poly interpolation (usually faster); some tweaking and renaming
add fmpz_poly_div_root
use _fmpz_poly_div_root to speed up fmpq_poly_interpolate_fmpz_vec
simplify modular determinant bound
fix too large allocation
add fmpz_cmp_si, and fix 0 not being tested(?) in t-fmpz_cmp_ui
add some missing functionality (WARNING: TESTS/DOCS MISSING)
add missing makefile
Implement power series composition for fmpz_polys
Implement fmpz_poly compositional inverse (Lagrange and Newton)
Implemented power series composition for nmod_poly
some code tidying
add citation for Brent-Kung
add nmod_poly series reversion; some doc updates
Implement power series composition for fmpq_poly
add NMOD_VEC_DOT as a macro
new algorithm for nmod_poly series reversion (fast Lagrange); also speed up Newton
rename nmod_poly functions compinv_series -> reverse_series, etc
revise fmpz_poly power series reversion functions
fix small doc error
Implement fmpq_poly power reversion algorithms (Lagrange, fast Lagrange, Newton)
add fmpq_poly_reverse_series; handle integer cases efficiently
document fmpq_poly reversion functions
fix some typos in fmpq.txt
merge from Sebastian
fix whitespace and a compiler warning in factor_lehman.c
update todo
use fast Lagrange by default in fmpq_poly_reverse_series
more todo items
add _fmpz_vec_height and fmpz_poly_height
Implement computation of cyclotomic polynomials
fix too many coefficients being written
latex fix
Implemented computation of Dedekind sums
add a todo item
Fast computation of the partition function p(n) (finally\!)
Use Knuth's algorithm for faster Dedekind sums; some small changes
Various improvements to partition counting
rename partition_function_vec -> number_of_...
speed up partition function by factoring the exponential sums
remove a file that shouldn't be there
update documentation
further speed up and tidy partitions code
speed up p(n) for small n; fix a potential 32-bit overflow
Add Chebyshev polynomials T_n(x), U_n(x)
Implement computation of the minimal polynomial of cos(2pi/n)
add lookup table to speed up cosine minpoly for n <= 58
use fast formula for minpoly of cos(2*pi/p), p prime
speed up p(n) using mpfr_root for exp(x/k), and Newton iteration for cos(pi*p/q)
add Chudnovsky algorithm for pi (original code by Hanhong Xue); some changes to p(n)
Merge remote-tracking branch 'origin/trunk' into trunk
Add nmod_poly_mulmod
add nmod_poly_powmod functions
Make calls to gmp_randinit lazy to speed up flint_randinit/clear when not used
make ulong_extras random functions use the state instead of globals
first commit of CZ nmod_poly factorisation ported from flint1 (many functions don't have tests yet)
add nmod_poly_factor_berlekamp
add nmod_poly_is_squarefree; some fixes
add nmod_poly_factor_squarefree
add test code for is_irreducible
Add top-level factoring routine based on Berlekamp
add nmod_poly deflation/deflate/inflate functions
top level nmod_poly_factor, using sqf+deflation
some todo items
add fmpz_bin_uiui prototype
Merge remote-tracking branch 'origin/trunk' into trunk
large update of fmpz_poly_mat (inv, rank, rref, nullspace, enhancements); needs some cleanup
add fmpz_fib_ui
update fmpz_poly_mat documentation
add fmpz_poly_mat sqr, pow functions
add fmpz_poly_mat_prod (balanced product)
fix a typo
fix some todo entries
minor cleanup of partition function, and a better precision bound
update n_clog, n_flog, n_sizeinbase to avoid division
faster fmpz_flog/clog; add fmpz_dlog (double precision natural logarithm)
fix two doc typos
add fmpz_val2, fmpq_mul_2exp, fmpq_div_2exp
add fmpq_poly_evaluate_fmpq; rename underscore function to match
add continued fraction expansion to the fmpq module
add fmpq_set_cfrac
doc update
add an nmod_poly_mat module
add nmod_poly_mat KS multiplication; tweak the corresponding fmpz_poly_mat code
implement generic binary splitting for series of rational numbers, plus code for computing Euler's constant with it
implement asymptotically fast zeta(n)
add fmpz_cdiv/tdiv_q_2exp
add partitions example program
add _fmpz_vec_sum, _fmpz_vec_prod
Merge branch 'trunk' of github.com:fredrik-johansson/flint2 into trunk
move fmpz_factor functions to a new module; some tweaks
faster version of _fmpz_vec_max_bits
tidy fmpz_mat module (clean up function names and interfaces)
fix returns in det_interpolate; rename a variable
remove copypaste leftover
add fmpz_get/set_d
use fmpz_set_d to fix potential 32-bit problem in dedekind_sum
some todo.txt housekeeping
fix two includes
update code for Bell numbers
update fmpz_fdiv_r
rename reverse_series -> revert_series
fix two copyrights
fix remaining reverse -> revert files
rename fmpz_mat kernel -> nullspace
rename fmpz_mat_kernel -> fmpz_mat_nullspace (for real)
Merge remote-tracking branch 'sebastian/trunk' into trunk
add placeholder nmod_poly_rem
add nmod_poly modular composition (classical and Brent-Kung)
add fmpz_is_square
add function for computing the number of sum of squares representations of a number
small test fix
Merge remote-tracking branch 'origin/trunk' into trunk
Merge remote-tracking branch 'origin/trunk' into trunk
Merge remote-tracking branch 'origin/trunk' into trunk
Merge remote-tracking branch 'origin/trunk' into trunk
fix a documentation typo
add fmpz_poly_mat truncate, mullow, sqrlow, pow_trunc
add fmpz_mat multi CRT/mod functions
add trace matrix functions
use a sign flag instead of separate signed/unsigned versions for CRT functions
Merge remote-tracking branch 'origin/trunk' into trunk
fix bernoulli numbers
Merge remote-tracking branch 'origin/trunk' into trunk
Merge pull request #2 from mmklee/flint_small_bug_fix
add custom memory allocation functions and use throughout flint
fix memory error in test for n_sizeinbase
fix memory access bug in fmpz_mat_solve with empty matrix
add qsieve to build dirs (accidentally deleted?)
fix memory leaks in fft test code
fix two memory leaks in fmpz_mat test code
fix missing init/clears in fmpz_vec tests
fix a memory leak in the fmpq module test code
fix uninitialised variable in test for mpq_init_set_readonly
Merge remote-tracking branch 'sebastian/trunk' into trunk
fix memory leaks in pow_addchains
fix another test leak
fix another small test memory leak
fix uninitialised memory in fmpz_init_set_readonly
fix a length 0 bug in bell numbers
fix memory leaks in fmpq_poly tests
fix more test code memory leaks
free memory in qsieve test
Merge remote-tracking branch 'sebastian/trunk' into trunk
fix memory leaks in gcd_modular and gcd_heuristic
fix another test code leak
some small documentation fixes
merge from Sebastian
consistently use (-n/2,n/2] instead of [-n/2,n/2)
Merge remote-tracking branch 'sebastian/trunk' into trunk
remove unused fmpz CRT functions
fix memory leak in the padic module
add fmpz_poly Newton basis conversion functions
minor tidying
implement fast Taylor shift code
add fast Taylor shift
Merge branch 'conversion' of github.com:fredrik-johansson/flint2 into conversion
add fast multipoint evaluation and interpolation for nmod_poly (working, but needs integration)
improve multipoint evaluation for small lengths
add fmpz_rfac_ui and fmpz_rfac_uiui
minor tweak
enable fast eval/interpolation algorithms by default; add documentation
Merge branch 'conversion' into trunk
Merge remote-tracking branch 'sebastian/trunk' into trunk
two fixes in the padic module
add a first (quadratic) implementation of fmpz_poly_sqrt
fix n_sqrtmod to work with x > LONG_MAX
add nmod_poly_sqrt
avoid signed n_jacobi argument in another place
Merge remote-tracking branch 'sebastian/trunk' into trunk
Merge pull request #3 from curtisbright/trunk
improve nmod_mat_mul for tiny moduli by packing entries
Merge remote-tracking branch 'github/trunk' into trunk
bugfix for last commit
add mul_interpolate and sqr_interpolate for nmod_poly_mat
some changes to todo.txt
fast factorial computation mod p
fix n >= p case in n_factorial
fix potential overflow in square root code mod p^k
add fmpz_mul_tdiv_q_2exp
add fmpz_poly scalar mul_2exp, fdiv_2exp, tdiv_2exp
fix n >= p case in n_factorial
fix potential overflow in square root code mod p^k
add fmpz_mul_tdiv_q_2exp
add fmpz_poly scalar mul_2exp, fdiv_2exp, tdiv_2exp
Merge pull request #4 from TomMD/trunk
fix C++ style comments
optimize _fmpz_vec_height
add two utility functions fmpz_abs_lbound/ubound_ui_2exp
Merge pull request #7 from lina-kulakova/trunk
use a simpler and more precise bound for the term magnitude in number_of_partitions
fix fallback version of add_sssaaaaaa
fix the factorial_fast_mod2_preinv test
Merge remote-tracking branch 'wbhart/trunk' into trunk
fix a couple of unused variable warnings
use mpn_zero instead of memset
Merge branch 'trunk' into merge16
Merge branch 'trunk' of https://github.com/GaloisInc/flint2 into merge16
possible fix for popcnt config
the return value should probably be inverted
Merge pull request #9 from GaloisInc/trunk
add fmpq_cmp
add a couple of functions needed by sage (need docs/improving)
Merge pull request #10 from GaloisInc/trunk
fix nmod_poly_xgcd for len = 1, and fix a memory leak in xgcd_euclidean
Merge branch 'trunk' of github.com:fredrik-johansson/flint2 into trunk
fix an accident in a previous commit
fix warnings for unused variables
fix corner case in powmod and powmod2
fix test failure for fmpz_poly_mulhigh_karatsuba_n
fix test failure for nmod_poly mulhigh_classical
fmpz_poly_sqrt_classical: call the right function
Merge remote branch 'spancratz/trunk' into trunk
propagate bugfix for xgcd_euclidean to xgcd and xgcd_hgcd
Merge remote branch 'origin/trunk' into trunk
tests and docs for fmpz_poly_scalar_*_mpz function
experimental alternative version of _fmpz_cleanup, allowing fmpz_clear to be called afterwards
include prototype
make randtest methods produce sparse polys; fix nmod_poly_mulhigh (again)
add test code for fmpz_poly_set/get_coeff_mpz
add tests for fmpq_poly_scalar_div/mul_mpz
harden nmod_poly_xgcd tests to cover previously fixed bug
introduce a test iteration multiplier and enable it in the fmpz_poly module
enable test iteration multiplier for a few more modules
add fmpz_poly_equal_fmpz and fix the fmpz_poly_xgcd test for output = 0
give functions in the arith module an arith_ prefix
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
fix bug in fmpz_sqrtmod
fix test failure in print/read_pretty
prefer classical multiplication when one polynomial is short
improve algorithm selection for fmpz_poly_gcd
use len2 or n in mullow cutoff
fix t-print_read_pretty some more (var also won't be read if len = 1)
fix a subtle bug in fmpz_bit_unpack causing corruption of fmpz_unused_arr
fix definition of _padic_log_balanced
fix a 32-bit warning
relax error count in t-is_probabprime_fermat
fix test for cyclotomic_polynomial
Merge remote branch 'wbhart/trunk' into trunk
fix sign normalisation issue in gcd_modular
speed up fmpq_poly get/set_coeff tests
reindent and slightly clean up gcd_modular
try dividing by the shorter polynomial first
make unbalanced divisions nonrecursive in fmpz_poly_divrem
move two incorrectly named files
make _fmpz_poly_div_divconquer nonrecursive in the unbalanced case
add a comment
fix quadratic memory usage and stack overflow in nmod_poly_div_divconquer
make unbalanced case in nmod_poly_divrem_divconquer iterative
lower cutoff for fmpz_poly_rem_basecase
enable test multiplier in the fmpz module
enable test multiplier in the fmpz_vec module; fix one memleak
fix some valgrind complaints about the test code
insert a missing _fmpz_cleanup()
fix a silly test memory leak
fix a memory leak in fmpz_mod_poly_divrem_f
fix another small test memory leak
fix some latex errors
Merge remote branch 'wbhart/trunk' into trunk
make fmpz_poly_pseudo_divrem not always use the basecase algorithm
Merge remote branch 'origin/trunk' into trunk
add entries for 2.3 to NEWS
add n_powmod_ui variants and use everywhere; fixing a bug in fmpz_powm_ui
fix aliasing bug in fmpz_poly_pseudo_rem
avoid recursion in fmpz_mod_poly_divrem_divconquer
disallow LONG_MIN in sdiv_qrnnd test
enable multiplier in ulong_extras tests
fix(?) a bug in factor_lehman
fix non-invertible length-0 case in gcd_euclidean_f
fix segfault in fmpz_mod_poly_radix due to degR not being set
fix some whitespace issues
Merge remote-tracking branch 'wbhart/trunk' into trunk
fix markup problems in fft.txt
speed up nmod_mat_mul with modulus barely <= 2^(FLINT_BITS/2)
update the nmod_mat documentation
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
use C++-safe malloc casts in perm.h
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'github/trunk' into trunk
fix bug in nmod_mat_rref and add test code
remove perm parameter from rref functions
Merge remote-tracking branch 'origin/trunk' into trunk
fix t-rref
test larger matrices
Merge remote-tracking branch 'github/trunk' into trunk
Merge remote-tracking branch 'sebastian/trunk' into trunk
fix nmod_mat_transpose
Merge remote-tracking branch 'sebastian/trunk' into trunk
fix a prototype
Merge remote-tracking branch 'origin/trunk' into trunk
add fmpz_tdiv_qr
Merge remote-tracking branch 'github/trunk' into trunk
Merge remote-tracking branch 'lina/trunk' into trunk
slight cleanup of nmod_poly_exp_series, and fix a valgrind complaint
make return value from solve_cramer with empty rhs consistent with the other functions
free mpz's with huge allocated space, to avoid wasting memory
add fmpz_poly_bound_roots for bounding the magnitude of the roots
Merge remote branch 'origin/trunk' into trunk
a new double_extras module, with a fast Lambert W function
add fmpz_mat_sqr and fmpz_mat_pow
use faster algorithm for fmpz_mat_rref, and improve test code
improve rref for fmpz_poly_mat, nmod_poly_mat
Merge remote-tracking branch 'wbhart/trunk' into trunk
fix makefiles in new modules
Merge remote-tracking branch 'github/trunk' into trunk
fix potential parenthesis issue with FLINT_ABS
increase working precision in bernoulli_number_zeta
new code for generating primes
add ability to jump with prime iterator
add primegen example program
add option to just count the primes
update todo.txt
merge
add fmpz_neg_ui, fmpz_set_uiui, fmpz_neg_uiui, and improve fmpz_mul_ui etc
add missing fmpz_inits
Merge remote-tracking branch 'github/trunk' into trunk
make fmpz single implementation threadsafe
Merge remote-tracking branch 'github/trunk' into trunk
add configure test for __thread support, and flag to disable it
Merge pull request #11 from argriffing/patch-1
change exponent type in fmpz_factor from fmpz to ulong
add n_gcd_full which takes operand in either order
fix warnings
fix warning about un-parenthesised && within ||
fix another warning
add nmod_inv, nmod_pow_ui for consistency
silence a few more warnings
improve test code and fix a potential bug in fmpz_poly_mat_mul_KS (no known failure though)
fix issue with fmpz_jacobi
propagate fmpz_poly_mat_mul_KS bugfix to sqr_KS
fix warnings
kill warning about string literal length
fix bug in fmpq_set_si and add test
mpir -> gmp replacements
fix gmp incompatibility
alises for mpn_neg_n/mpn_neg, mpn_com_n/mpn_com for gmp compatibility
add flint_mpn_mulmod_2expp1_basecase (taken from MPIR)
use mpn_tdiv_qr as fallback for mpn_tdiv_q
allow fmpz/test/t-jacobi.c to run with gmp
update documentation to mention GMP
remove empty files
add fallback for mpn_sumdiff_n
Baillie is spelled Baillie
remove an empty test file
fix off-by-one error in is_prime_pseudosquare when flint_primes has not been computed previously
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'jpflori/build_system' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
Merge remote-tracking branch 'wbhart/trunk' into trunk
document fmpz_factor_si
threadsafe replacement for flint_primes (work in progress)
documentation
promote Martin Lee to 'significant contributor'
change cutoffs for nmod_poly_factor: KS now usually wins, except for small degrees where CZ is still fastest
fix fmpz_is_prime_pseudosquare on 32 bit
cleanup / consistency fixes for the fmpq module
cleanup / fix consistency for the fmpz_mat module
cleanup / fix consistency for fmpq_mat
cleanup / fix consistency in arith module
Merge remote branch 'tom/gsoc-doc' into trunk
Merge remote branch 'tom/is_squarefree' into trunk
make is_squarefree an fmpz_poly method; slightly simplify it
document fmpq_poly_reverse
add flint_cleanup(), flint_register_cleanup_function(); use instead of _fmpz_cleanup() in test files; document memory management functions
Merge remote branch 'tom/gsoc-doc' into trunk
remove code (binary splitting, zeta(n)) obsoleted by arb
remove some obsolete todo.txt entries
fix _fmpz_cleanup to make repeated calls safe; add test code
simplify _fmpz_demote_val
fix to make repeated flint_cleanup() calls safe when there are registered cleanup functions
fix t-val_fac on 32bit
do fewer iterations in nmod_poly t-fread_print (file creation is very slow on some systems)
create flint_get_num_threads / flint_set_num_threads interface
small simplification
easy-to-use profiling macros
document profiling macros
Merge remote branch 'origin/trunk' into trunk
fix number of repetitions
Merge remote branch 'tom/gsoc-doc' into trunk
clarify documentation for stirling_X_vec_next functions
fix function names in documentation
simplify Stirling number code
support den == NULL in fmpq_mat_get_fmpz_mat_colwise
support den == NULL in fmpq_mat_get_fmpz_mat_colwise
include void in function declarations
Merge remote-tracking branch 'wbhart/trunk' into trunk
fix bug in KS2 and KS4 and add test
nmod_poly_mul_KS: just call mpn_mul
algorithm selection in nmod_poly_mul
oops, remove debug code
disable 64-bit-only test on 32-bit
use plain mpn_mul also in nmod_poly_mullow_KS
mpir.h -> gmp.h replacements
Merge remote branch 'origin/trunk' into trunk
include profiler.h among installed header files
Merge remote-tracking branch 'wbhart/trunk' into trunk
remove unneeded typedef for slong
Merge remote branch 'wbhart/trunk' into trunk
Make an internal function static to prevent namespace collisions with other code
Merge remote branch 'wbhart/trunk' into trunk
fix constness in declaration of __clz_tab
silence some warnings
Merge remote branch 'origin/trunk' into trunk
fix (hopefully) d_lambertw accuracy issue on 32bit build on 64bit linux machines
Merge remote branch 'wbhart/trunk' into trunk
fix 32-bit failure in padic_poly_derivative
better solution
Sebastian's fix is better than mine
Merge remote branch 'wbhart/trunk' into trunk
Merge remote branch 'wbhart/trunk' into trunk
add flint_cleanup calls in fft and mpfr_vec, and uncomment t-adjust_sqrt
insert flint_cleanup calls in nmod_poly tests
insert more flint_cleanup calls
call flint_cleanup in ulong_extras tests
Merge remote branch 'wbhart/trunk' into trunk
missing flint_cleanups
document fmpz_mod_poly_evaluate_fmpz_vec functions
call n_factor all the way up to 64 bits in fmpz_factor; cleanup code a bit
fix 1/den or -1/den incorrectly printing as 1 or -1 in fmpq_poly_fprint_pretty
fix and speed up n_is_prime on 32-bit
add table to t-is_prime
test the right function in the right file
Frithjof Schulze (13):
Silence some compiler warnings.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Merge branch 'trunk' of github.com:frithjof-schulze/flint2 into trunk
Fix latex typos.
Add fmpz_tdiv_ui().
Merge remote-tracking branch 'upstream/trunk' into trunk
Merge remote-tracking branch 'selmer/trunk' into trunk
Merge remote-tracking branch 'upstream/trunk' into trunk
Merge branch 'trunk' of git://github.com/fredrik-johansson/flint2 into trunk
Fix escapes in Makefile.
Correct nmod_poly example.
nmod_poly: fix signatures of the sqrt functions in the documentation.
Merge branch 'trunk' of https://github.com/wbhart/flint2 into trunk
Frithjof Schuze (2):
Merge remote-tracking branch 'upstream/trunk' into trunk
Fix markup in the documentation to be able to build the manual.
Jan Engelhardt (1):
build: fix insufficient quoting in configure script
Jean-Pierre Flori (72):
Corrected a typo in fmpz_size documentation.
Correctly compile the NTL interface.
Copy headers into a "flint" subdirectory.
Define FLINT_CPIMPORT from PREFIX.
Replace ?alloc and free by flint_?alloc and flint_free.
Correctly build NTL interface finally.
Detect errors occurring within foreach loops.
Remove duplicate padic dir in BUILD_DIRS.
Add files generated by configure to distclean target.
Parallel testing.
Use ABI in configure and modify uname use.
Typos in the previous commit.
Fix typo in fmpz_poly doc
Fix mp_limb_t/ulong discrepancies in var/func decls.
Fix matching for powerpc64 in a case statement.
Fix for Darwin shared library name.
Better dependency for install target.
Share a common Makefile for all modules directories.
Missing common Makefile.
Use CFLAGS for testing and profiling.
Let the user override ABI with an environment variable.
Get rid of FLINT_TUNE variable, everything goes through CFLAGS.
Print message to show that FLINT wa successfully configured.
Catch potentiel illegal instruction error.
Change the way headers and libraries are handled in build system.
Use ABI_FLAG for profile targets.
Use sed rather than awk for option parsing.
There are no bashisms in configure.
No bashisms in Makefiles either.
Filter out build-tls potential crash.
Use DESTDIR instead of PREFIX.
Correct use of DESTDIR. PREFIX is still used.
Possibility to use --with-mpir.
Allow --enable-* options in configure.
Parse CXX option passed to configure.
Error out when static and shared versions are enable on Windows.
Better option parsing.
Allow --without-* options in configure.
Sed script working with non-GNU sed.
Add --[enable|disable]-pthread option.
Remove comment introduced in 4cd2bc42a4aa5d
Fix clean target by exporting MOD_DIR.
Replace some $(FLINT_LIB) by library in make dependencies.
Quiet make; inspired from BSDNT code.
Allow shared and static make targets.
Trigger library rebuild if headers changed.
Add longlong.h header to HEADERS.
Move Makefile.mod to Makefile.subdirs because of implicit .mod rule.
Add verbose make target.
Replace Makefile.mod by Makefile.subdirs within Makefile.in.
Fix for make check in subdirs.
Fix for make profile in subdirs.
Add EXEEXT variable for executable extension.
Merge branch 'trunk' into build_system
Fix -lpthread typo.
Fix EXEEXT typo.
Define tests make target to build tests file without running them.
Merge branch 'trunk' into sqrt
Fix for extra librairies.
Merge branch 'trunk' into sqrt
Fix for extensions' headers.
Tentative fixes for qadic sqrt.
Fix compiler warnings (and a memory leak).
Change remaining long into slong in nmod_poly module.
Change long to slong in padic_poly module.
Change long to slong in padic_mat module.
Missing changes from slong to long for padic_poly and padic_mat modules.
Change long to slong in qadic module.
Missing changes from long to slong.
Fix wrong file permissions.
Another attempt to get correct ARM/Thumb/Thumb2 assembly code.
Fix NTL interface tests. Reported by Francois Bissey.
Julien Puydt (1):
Imported Upstream version 2.4.5
Lina Kulakova (49):
fmpz_mod_poly factorisation: add new module fmpz_mod_poly_factor,
fmpz_mod_poly: add function remove
fmpz_mod_poly: add function mulmod
fmpz_mod_poly: add function pow_trunc_binexp
fmpz_mod_poly: add function pow_trunc
fmpz_mod_poly: add function powmod_ui_binexp
fmpz_mod_poly: add function powmod_fmpz_binexp
fmpz_mod_poly_factor: add function is_irreducible
fmpz_mod_poly_factor: add function factor_equal_deg_prob
fmpz_mod_poly_factor: add function factor_equal_deg
fmpz_mod_poly_factor: add function factor_cantor_zassenhaus
fmpz_mod_poly: add function compose_mod_horner
fmpz_mod_poly: add function compose_mod
fmpz_mod_poly_factor: add function factor_distinct_deg
fmpz_mod_poly_factor: add function pow
fmpz_mod_poly_factor: add function factor_squarefree
fmpz_mod_poly_factor: add function factor_fast_cantor_zassenhaus
fmpz_mod_poly: add function compose_mod_brent_kung
fmpz_mod_poly_compose_mod: automatically switch
fmpz_mod_poly_factor: rename factor_fast_cantor_zassenhaus to factor_kalofen_shoup
fmpz_mat_rref: fix comment
fmpz_mat: add function rref_mod
fmpz_mod_poly_factor_kaltofen_shoup: fix comments
fmpz_mod_poly_factor: add function factor_berlekamp
fmpz_mod_poly_factor: make factor_equal_deg_prob work for p=2
fmpz_mod_poly_factor_berlekamp: fix test
nmod_poly_factor: make factor_equal_deg_prob work for p=2
fmpz_mod_poly_factor: fix some tests
nmod_poly: add function factor_distinct_deg
nmod_poly: add function factor_kaltofen_shoup
fix code style (using indent)
fmpz_mod_poly_factor: compute parameter beta inside function factor_distinct_deg
nmod_poly: compute parameter beta inside function factor_distinct_deg
fmpz_mod_poly: fix documentation
fmpz_mod_poly_factor: add function is_squarefree
fmpz_mod_poly_factor: add function is_irreducible_ddf
fmpz_mod_poly_factor: rename is_irreducible into is_irreducible_rabin; add function is_irreducible
factor_distinct_deg: fix beta computation
fmpz_mod_poly: add function randtest_irreducible
fmpz_mod_poly_factor: add benchmarking and profiling code for factorisation
fmpz_mod_poly_factor: add function factor based on profiling measurments
fmpz_mod_poly_factor: profiling: check whether the choice of algorithm was correct
nmod_poly: add function randtest_irreducible
nmod_poly: add profiling code for factorisation
nmod_poly: improve function nmod_poly_factor
fmpz_mod_poly_factor: fix test for is_squarefree
nmod_poly: fix choice of factorisation algorithm for small moduli
git:nopush tmp: check profiling
Revert "git:nopush tmp: check profiling"
Martin Lee (66):
fix: g++ complains about this when building Singular with Flint
added 2-1 division using Newton inversion with a precomputed inverse
added modular multiplication with a precomputed inverse
added modular powering with a precomputed inverse
added modular Brent-Kung composition with a precomputed inverse
changed distinct degree factorization so as to use precomputed inverse versions, less gcd's,
added benchmark test
added docu of mulmod_preinv
added docu for 2-1 division with precomputed inverse
added docu for powmod_ui_binexp_preinv
added docu of compose_mod_brent_kung_preinv
added profile test for modular multiplication with precomputed inverse
fixed a bug in distinct degree factorization
fixed a memory leak
fix 'factorization' of linear polys
fix 'factorization' of linear polys
fix: check for assumptions on input
chg: const qualifier
added 2-1 division using Newton inversion with a precomputed inverse
added modular multiplication with a precomputed inverse
added modular powering with a precomputed inverse
added modular Brent-Kung composition with a precomputed inverse
changed distinct degree factorization so as to use precomputed inverse versions, less gcd's, and less modular compositions
better description of assumptions on the input
added docu for reverse
added docu for 2-1 division with precomputed inverse
added docu for modular multiplication with precomputed inverse
added docu for modular powering with precomputed inverse
added docu for Brent Kung modular composition with precomputed inverse
removed semicolons from docu
small improvement of fmpz_mod_poly/divrem_basecase
added irreducibility test using ddf
changed is_irreducible to is_irreducible_rabin
changed is_irreducible to using is_irreducible_ddf by default
updated docu
improved ddf based irreducibility testing
use divrem_q1 if possible
added powmod_mpz_binexp_preinv
improved div_newton21_preinv
use powmod_mpz_binexp_preinv in equal degree factorization
added powmod_ui_binexp_preinv to fmpz_mod_poly
use powmod_fmpz/ui_binexp_preinv in equal degree factorization
updated documentation of fmpz_mod_poly and nmod_poly
printf -> flint_printf
added a version of Brent Kung modular composition that takes a precomputed matrix as input
docu for new functions
use compose_mod_brent_kung_precomp_preinv in distinct degree factorization
ported compose_mod_brent_kung_precomp_preinv from nmod_poly to fmpz_mod_poly
use compose_mod_brent_kung_precomp_preinv in fmpz_mod_poly_factor_distinct_deg
added test for compose_mod_brent_kung_precomp_preinv
some optimizations for modular composition
deleted some semi-colon
added docu for fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv
added powmod_x_fmpz_preinv to compute x^e mod f
added powmod_x_ui_preinv to compute x^e mod f
use modular composition to compute baby steps if characteristic is much larger than deg of poly
use modular composition to compute baby steps if characteristic is much larger than deg of poly
renamed div(rem)_newton21_preinv to div(rem)_newton_n_preinv
more renaming of div(rem)_newton21 in fmpz_mod_poly
mroe renaming of div(rem)_newton21 in nmod_poly
more renaming of div(rem)_newton21 in C++ wrapper
fix header clashes on cygwin64
fixes of exception message formats and UL -> UWORD
fix documentation of factor_distinct_deg
fixed a missing clear
some code simplifications and format consistency changes
Mike Hansen (224):
Add proper dependency tracking for Makefile.subdirs.
Merge remote-tracking branch 'goens/fq' into fq
Add a .gitignore file
Build fq / fq_poly and get tests to pass.
Fix qadic tests when running tests in build directory without having done "make install"
Allow "make profile" to target individual modules.
Add fq_ctx_init_modulus for adding custom modulus. No irreducibility
Add more conversions to the NTL interface.
Make Makefile.subdirs support cpp files and dependency tracking.
Add fq_randtest_dense()
Add Newton division for fmpz_mod_poly.
Add fq_ctx_init_modulus and reduction based on Newton division.
Add fq/profile/p-mul_vs_ntl to time multiplication against NTL.
Add fq_poly/profile/p-mul_vs_ntl.cpp
Performance improvements for fmpz_mod_poly/div_newton_preinv
Ignore ppm files.
Make fq and fq_poly use flint_printf
Add zz_p, zz_pX, zz_pE, zz_pEX support in NTL interface
Update output of fq/profile and fq_poly/profile to be more friendly to producing plots
Revert "Performance improvements for fmpz_mod_poly/div_newton_preinv"
Fix profiler.o dependencies in Makefile.subdirs
Test signed integers in fq_mul_fmpz.
Some API changes for fq and fq_poly to add future compatibility with fq_zech.
Add fq/pow_ui.c
Add fq_fprint and fq_print
Add fq_ctx_randtest
Add fq_vec (with templates).
Add fq_ctx_fprint
Add fq_poly_fprint etc.
Add fq_poly_mulmod
Add fq_poly_powmod_fmpz_binexp and fq_poly_powmod_ui_binexp
Add "infrastructure" for fq_poly_factor_*
Add fq_sub_one
Add fq_poly_compose_mod
Add fq_poly_gen and fq_poly_remove
Add fq_poly_factor_cantor_zassenhaus
Add fq_pth_root which needs to be optimized.
Fix memleaks in fq_poly/gcd_euclidean.c
Fix bug in fq_poly_make_monic.
Add fq_poly_factor_concat
Add fq_poly_factor_squarefree
Add fq_poly_factor_kaltofen_shoup
Close missing "}" in fq_vec_templates/header.h in c++ mode.
Fix off by one error in profiling for fq and fq_poly.
Reenable optimizations for fmpz_mod_poly/div_newton_preinv.c
Add fq_mat
Add fq_poly_compose_mod_brent_kung
Add profiling for comparing factor_kaltofen_shoup_vs_ntl against NTL.
Fix API chanages in NTL-interface.
Add fq_vec_templates/scalar_submul_fq.c
Add fq_poly_inv_series_newton.
Add fq_poly_divrem_divconquer
Add fq_poly_div_newton_preinv and fq_poly_divrem_newton_preinv
Add fq_poly_mulmod_preinv
Add fq_poly_compose_mod_brent_kung_preinv
Add fq_poly_powmod_ui_binexp_preinv and fq_poly_powmod_fmpz_binexp_preinv
Disable divrem_divconquer for now
Some performance improvements for fq_poly_factor_distinct_deg
More performance improvements to fq_poly_factor_distinct_deg
Add fq_poly_factor_berlekamp
Remove extra printing from p-factor_kaltofen_shoup_vs_ntl.cpp
Add Ben-Or's random generation of irreducible polynomials (fq_poly_randtest_irreducible)
Add fq_ctx_init
Some profiling changes to fq_poly/profile/p-factor_kaltofen_shoup_vs_ntl.cpp
Add inflation / deflation for fq_poly.
Add factoring with deflation trick.
Move fq_poly_inflate to proper directory
API changes for consistency
Remove fq api dependence on sparse modulus
Have fq/test/* use fq_ctx_randtest
Have fq_poly/test/* use fq_ctx_randtest
Update profile code to use updated api
Add documentation for fq_vec.
Add a test for fq_pth_root.
Add documentation for fq module.
Add documentation for fq_mat.
Get rid of _fq_poly_init and _fq_poly_clear
Add fq_poly documentation.
Misc. cleanup in fq.h / fq_poly.h / fq_poly/factor_berlekamp.c
Improve test timings.
Add fq_poly_powmod_fmpz_binexp_preinv to fq_poly_factor_equal_deg_prob
improved fmpz_mod_poly_div_newton_preinv
Fix header installation.
Profile sparse vs. dense reduction in fq.
Add fq_get_str and fq_get_str_pretty
Add fq_poly_get_str and fq_poly_get_str_pretty
Port improvements to _fq_poly_div_newton_preinv
Switch fq_reduce based on sparsity of the modulus.
Add fmpz_mod_poly_get_coeff_mpz and fmpz_mod_poly_set_coeff_mpz
Fix first coefficient bug in fq_poly_get_str_pretty.
Add fq_poly_compose_mod_horner_preinv and fq_poly_compose_mod_preinv
Add profiling for fq_poly_compose_mod and fq_poly_compose_mod_preinv
Make header files for templates more consistent with rest of header files.
Add fq_poly/profile/p-iterated_frobenius.c
Add fq_mat_mul_KS.
Add cutoff for KS and classical multiplication in fq_mat.
Add cutoff values in fq_poly_factor_distinct_deg for computing iterated Frobenius
Fix fq_mat documentation.
Use generic compose_mod_preinv vs. compose_mod_brent_kung_preinv
Run indent on fq/*
Run indent on fq_vec_templates/
Run indent on fq_vec_templates/test/*
Run indent on fq_mat_templates/*
Run indent on fq_poly/*
Renable fq_poly_divrem_divconquer.
Add code for profiling fq_poly_mulmod vs. fq_poly_mulmod_preinv.
Initial templates for fq_poly.
Initial templates for fq tests.
Add some prerequisites in nmod_poly.
Add initial fq_nmod
Add fq_nmod_vec
Add bit packing / unpacking for fq / fq_nmod
Add fq_nmod_mat
Add fq_nmod_get_str and fq_nmod_get_str_pretty
Add fq_nmod_poly
Add profiling for fq_nmod_poly factoring vs. fq_poly_factoring
Merge branch 'fq_nmod' into fq
Fix issue with fq_poly_templates/mul.c and fq_poly_templates/sqr.c when reorder not in use
Add fq_poly_templates/compose_mod_brent_kung_precomp_preinv.c
Add n_primitive_root_prime
Add initial discrete_log_bsgs function.
Make modulus const in fq_nmod_ctx_init_modulus
Add initial version of fq_zech
Add fq_zech_vec
Fix bug in fq_zech_bit_pack
Add fq_zech_mat
Add FQ_MUL_CLASSICAL_CUTOFF
Fix memory leak in t-make_monic.c
Add fq_zech_poly
use fq_poly_compose_mod_brent_kung_precomp_preinv in distinct degree factorization
Merge branch 'compose_mod_precomp' into fq
Add fq_poly_powmod_fmpz_sliding_preinv
Add sliding window exponentiation to fq_poly_factor_distinct_deg
Merge branch 'fq_zech' into fq
Fix fq_poly_templates/test/t-powmod_fmpz_sliding_preinv.c
Add missing functions to fq_zech_poly
Add some tuning / profiling code for fq_zech_poly
Add fq_poly_is_irreducible_ben_or
Add generation of sparse irreducible polynomials for nmod_poly
Add some documentation for fq*
Fix create_doc
Standardize trace and norm interface for fq_nmod.
Standardize trace and norm interface for fq_zech
Update fq_zech tests to use flint_printf
Doc fixes for fq*
Add fq_nmod* documentation
Add fq_zech* documentation
Fix create_doc.c and add finite field sections to the manual.
Add random generation of sparse irreducible polynomials for fmpz_mod_poly
Update API in interfaces/test/t-NTL-interface.cpp
Add NTL-interface.h dependency to Makefile
Fix extern "C" in fq_*.h
Fix problems in NTL interface
Add docs and missing declarations for fmpz_mod_poly and nmod_poly.
Remove unnecessary includes from fq*.h
Ignore flint-manual.pdf
Fix profiling code that uses NTL interface
Fix p-factor_kaltofen_shoup_vs_ntl.cpp
Fix poly_set_coeff_fmpz
Add fq_poly_powmod_x_fmpz_preinv
Template fq_poly/profile/p-iterated_frobenius
Add fq_poly_templates/iterated_frobenius_preinv.c
Add fq_poly_templates/profile/p-iterated_frobenius_table.c
Add matrix precomp to fq_poly_templates/profile/p-iterated_frobenius.c
Add rough cutoffs for iterated frobenius
Add fq_poly_templates/profile/p-factor_xnpxp1.c
Improve fq_zech/mul_ui.c by storing the prime field embedding.
Update fq_zech_poly timings
Use sliding window exponentiation in fq_poly_factor_equal_deg_prob
Fix classical cutoff for fq_nmod_mat.h
Add missing docs
Merge remote-tracking branch 'upstream/trunk' into fq
div(rem)_newton_preinv -> div(rem)_newton_n_preinv
Split of fq factorisation routines into their own module
Rename some files in fq_poly_factor_templates/*
Update documentation for fq*
Include fq_*poly_factor.h in fq_*poly.h
Ignore generated manual files
Merge remote-tracking branch 'upstream/trunk' into fq
Fix issues in "make profile"
Merge remote-tracking branch 'upstream/trunk' into fq
Remove profiling code that depends on NTL for now
Don't use $(CFLAGS) when building profiling code
Remove unneeded PROF_CXX support for now
Build main profiling code
Rename nmod_poly_factor.doc to nmod_poly_factor.txt in create_doc.c
Fix API changes in examples/fq_poly.c
Merge remote-tracking branch 'upstream/flint-2.4' into trunk
Use %wd and %wu in fq*
Use WORD and UWORD
Use gmp.h instead of mpir.h
Change long to slong
Run flint_cleanup() at end of test functions
Fix documentation for div(rem)_newton_n_preinv
Merge remote-tracking branch 'upstream/flint-2.4' into trunk
Fix some memory issues in fq*
Fix issues in fmpz_mod_poly_randtest_sparse_irreducible
Add missing copyright notices
Add tests dependency on static lib when FLINT_SHARED=0
More long -> slong changes
Remove superfluous result variable in *poly_randtest_sparse_irreducible
A few more long -> slong
Add valgrind target to Makefile
Don't build all tests before running valgrind
Make valgrind depend on the flint library.
Add phony targets for valgrind
Fix remaining WORD / UWORD issues
Don't require monic modulus.
Fix bug in templates.h
Make sure non-monic moduli work.
Add copyright headers missed by script
Make fq*ctx_init_modulus not take p and d as arguments.
Documentation additions / fixes
Fix copyright in nmod_poly_gcdinv and nmod_poly_invmod
Add docs for nmod_poly_gcdinv and nmod_poly_invmod
Fix fq_factor_disticnt_deg on linear polynomials
Add code for printing C preprocessor macros
Fix exception messages to print right function
Run indent on fq_poly_factor_templates
Run indent on fq*_mat_templates
Run indent on fq_poly_templates
Add some docs on fq_zech
Add fq_templates to TEMPLATE_DIRS in Makefile.in
Fix bug in fq*_ctx_init_modulus
Ralf Hemmecke (1):
docfix missing \code
SPancratz (894):
Minor changes to mul_KS and mullow_KS in fmpz_poly
Included reverse (method body, signature, documentation) in fmpz_poly
Commit necessary because the previous work wasn't in the right branch
Changed "fmpz_demote" to "fmpz_zero" in fmpz_poly_reverse
Including sqrt and sqrtrem for fmpz
Adding fmpz_poly_2norm, but no test code yet
Included derivative for fmpz_poly
Including content and primitive part in fmpz_poly
Changed normalisation for fmpz_poly_primitive_part and added test code
Added gcd_subresultant for fmpz_poly
Updated header file and documentation for fmpz_poly
Include wrapper fmpz_poly_gcd
Evaluation using Horner's method for fmpz_poly
Formatting (and sections) for fmpz_poly.h and the documentation
Including fmpz_sizeinbase and fmpz_get_str
Small formatting changes to print.c in fmpz_poly
Including fmpz_set_str, with documentation and the changed header
Including a note in the todo list for set_str, get_str, sizeinbase (all fmpz)
Add string conversion methods for fmpz_poly
Declare the argument to fmpz_poly_print "const"
Updates for the string conversion methods in fmpz_poly
Small fix to the verification of the format verification
Included an _ method for fmpz_poly_derivative
Including derivative for fmpq_poly
Reformatting and adding sections for fmpq_poly.h
Small simplifications to fmpq_poly_to_string
Add t-derivative for fmpq_poly, plus small fixes
Including content, primitive_part, monic, is_monic for fmpq_poly, no tests yet
Added documentation for content, primitive_part and monic methods in fmpq_poly
Added evaluation functions to the header file
Added fmpz_poly_evaluate_mpq, with a Horner's method implementation
Added evaluate_fmpz and evaluate_mpq to fmpq_poly
Added documentation for the evaluation methods in fmpq_poly
Bugfix for fmpq_poly_evaluate_fmpz
Bugfix in fmpq_poly_scalar_mul_mpq
Fixed bug in fmpq_poly_cmp
Test files for fmpq_poly_cmp, content, monic, is_monic, primitive_part
Changed one of the tests for t-fmpz_poly_gcd_subresultant
Added fmpq_poly_is_squarefree plus documentation and tests
Adding _ functions for fmpz_poly_shift_left/right
Added shift_left, shift_right for fmpq_poly, plus docs and tests
Changed way to choose algorithm in fmpz_poly_mul
Small change to fmpz_poly_content
Change to _fmpz_vec_content
Include divexact_ui and _si in fmpz, plus doc and tests
Add a single space to _fmpz_vec_is_zero
Adding many tests to fmpz_vec/test
Adding fmpq_poly_divexact_fmpz, _si, _ui plus subsequent changes
Clean-up of fmpz_vec
Changed calloc to malloc calls in fmpq_poly_to_string and _pretty
Add a test for fmpz_vec_scalar_divexact_fmpz
Changes to fmpq_poly (mostly cosmetic ones, but also adjusting copyright notes)
Modified some test files for fmpz_vec (either cosmetic or adding more tests)
Including t-scalar_mul_ui for fmpz_vec
Small improvements to some tests in fmpq_poly
Modified fmpq_poly/test/t-scalar_div_fmpz.c
Modified some tests for fmpq_poly
Fixed a bug in scalar division in fmpq_poly
Fixed a bug in fmpq_poly_divrem (not providing output in canonical form)
Fixed a bug in scalar division for fmpq_poly (not ensuring den is +ve)
Tests and documentation in fmpz_vec and fmpq_poly
Moving from ulong to long (fmpz_poly, fmpz_vec, fmpq_poly)
Fixed a bug in t-mulmid_classical.c, giving a negative length
Changes from ulong to long in mpfr_vec, mpfr_poly, nmod_vec, and nmod_poly
Use of data types in fmpz_vec, fmpz_poly
Updated use of data types in fmpq_poly
Updated use of data types in fmpz_poly
Updated use of data types in nmod_vec, nmod_poly
Small fix: modify mpfr_poly/test/t-FHT.c to include mpfr_vec.h
Updated use of data types in mpfr_poly (incl mpfr_prec_t)
Use calloc instead of malloc and mpn_zero in fmpz_poly_init
Small improvement to the fmpz_poly_get_coeff_xxx functions
Small change to fmpz_poly_normalise
Remove redundant file fmpz_vec/scalar_divexact.c
Casting return values of "malloc" appropriately
Remove declarations from for loops, at least in the main code
Fix an earlier commit which had two declarations of "i"
Change the type of "dprec" to mpfr_prec_t
Ensure the "mpfr_clear" statement is executed in mpfr_poly_bound_newton
Remove some casts (fmpz *) from const fmpz * variables
Fixed another memory leak in mpfr_poly/bound_newton.c
Changed a %lu to a %li
Update use of data types in fmpz_mat and mpfr_mat
Update use of data types in LLL module
Include the file "code_conventions.txt" in the top level
Portable printing via gmp_printf in nmod_poly.h
Avoiding -1UL in for loops
Moving declarations out of for loops in fmpq_poly/test
Moving declarations out of for loops in fmpz_poly/test
Moving declarations out of for loops in fmpz_vec/test
Move declarations out of for loops in fmpz_mat/test
Move declarations out of for loops in nmod_poly/test and nmod_vec/test
Move declarations out of for loops in fmpz/test
Move declarations out of for loops in mpfr_mat/test (and _poly, _vec)
Move declarations out of for loops in ulong_extras/test
Fixing the output in t-is_perfect_power235.c
Move declarations out of for loops in fmpz_mpoly/test
Move declarations out of for loops in /test/...
Move declarations out of for loops in /profile/...
Moving declarations out of for loops in nmod_vec/profile
Fix a problem with the output format in nmod_vec/profile/p-add_sub_neg
Moving declarations out of for loops in ulong_extras/profile (and a few others)
Removing the c99 option from the Makefile
Moving declarations out of for loops in profiler.h
Moving some more declarations out of for loops
Including stdlib.h in many places in nmod_poly and nmod_vec
Adding "u" suffix to some integers in is_prime_pseudosquare
Adding "stdlib.h" to nmod_poly/t-init_realloc_clear
Fixing the FLINT64 compile problem in is_prime_pseudosquare.c
Adding "if FLINT64" to sqrt and sqrtrem in ulong_extras
Removing unused variables and one bugfix in ulong_extras
Removing unused variables and some casts (for signedness) in fmpz
Use calloc in fmpz/realloc.c instead of malloc and mpn_zero
Use calloc instead of malloc and mpn_zero in fmpq_poly_init2
Use calloc instead of malloc and mpn_zero in fmpq_poly_realloc
Small changes in fmpz_poly and fmpq_poly.
Fixing the return type for _mpfr_vec_scalar_product
Removing unused variables in nmod_vec and nmod_poly
Removing unused variable in LLL/GSO_mpfr.c
Small updates and fixes in the process of removing warnings from '-Wall'
Using calloc instead of malloc and mpn_zero in fmpz_mpoly/init.c
Small changes to fmpz_mpoly to remove some warnings
Fix a bug (missing parentheses, operator precedence) in factor_SQUFOF.c
Add -Wall -Werror to the CFLAGS in the Makefile again
Going through all test files (except fmpz_mpoly) to remove warnings
Reformatting of longlong.h
Updating fmpz_mpoly to use 'long' instead 'ulong' in places
Moving declarations to the top, reformatting (ulong_extras)
Moving declarations and reformatting in fmpz (excl fmpz/link)
Moving declarations in fmpz/link/*
Moving declarations and reformatting in fmpz_vec
Moving declarations, reformatting in fmpz_poly
Moving declarations and reformatting, nmod_vec
Moving declarations and reformatting, nmod_poly
Applying intend to nmod_poly/*
Moving declarations and reformatting, mpfr_poly
Moving declarations and reformatting, fmpz_mat
Moving declarations and reformatting, fmpq_poly, fmpz_mpoly, mpfr_mat, mpfr_vec
Some reformatting of files in the top level
Reformatting of files in LLL
Reformatting of ulong_extras.h
Some more reformatting in fmpz/*
Some more reformatting in ulong_extras
Replacing "inline" by "__inline__" and setting up a macro in flint.h
Removing two casts "(long)" in fmpz/pow_ui.c
The methods "round" and "sqrtf" don't seem to be part of ANSI C
Small reformatting ('//') in ulong_extras/profile
Changing '//' in fmpz/test, "make check MOD=fmpz" now works with -ansi
Changing '//' in fmpz_vec/test
Changing '//' in nmod_vec/test
Changing '//' in nmod_poly/test/*
Change '//' in fmpz_mpoly/test
Replacing "//" in fmpz_poly/test
Replacing "//" in fmpq_poly/test
Adding "-pedantic -ansi" to CFLAGS
Moving a number of declarations to the top
Update code_conventions.txt
Updating fmpz_poly/doc for ulong -> long, plus minor changes in fmpz_poly
Update fmpz_vec/doc
Updating fmpz_mat/doc
Updating fmpq_poly/doc
Updating nmod_vec/doc
Small fix in fmpq_poly/randtest.c
Updating nmod_poly/doc, plus a few changes in nmod_poly
Update documentation for mpfr_mat, _poly, and _vec
Update fmpz_mpoly/doc and small changes in fit_length
Comparing the three polynomial multiplication methods
Better choice of randomisation in fmpz_poly/profile/p-mul.c
Improved choice of polynomial multiplication algorithm
Remove -Werror from Makefile, add -O2
Fix a "not-initialised" problem in profiler.c
Work on fmpz_poly_pow_XXX
Merge branch 'bill' into seb
Including a multinomial recurrence for exponentiation
Updated fmpz_poly/profile/p-mul.c to include RGB coloured images
Small improvement to pow_multinomial.c, and modifying profile/p-pow.c
Polynomial exponentiation (pow.c and profile/p-pow.c)
Polynomial composition using Horner's method (fmpz_poly)
Small modification to fmpq_poly/is_squarefree
Documentation for polynomial composition (fmpz_poly)
Further documentation for fmpq_poly_is_squarefree
fmpq_poly_pow
Compose and Rescale for fmpq_poly
fmpq_poly_set_array_mpq
Introducing fmpq_poly_from_string
Changing "from_string" and "to_string" to "set_str" and "get_str" (fmpq_poly)
Changing "from_string" and "to_string" to "set_str" and "get_str" (fmpz_poly)
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Removing the global random state for fmpz etc.
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Some more tidying up in fmpz_poly/test
Small improvements to fmpq_poly/test/
Changing fmpq/fmpz_poly composition and evaluation
Fixed a bug in fmpq_poly_scalar_div_mpq (affects fmpq_poly_divrem)
Minor changes to fmpq_poly_divrem
Remove one cosmetic " " in fmpz_poly/evaluate
Changes to polynomial composition
Polynomial composition (divide-and-conquer)
Remove fmpz_poly_t's from _fmpz_poly_compose_divconquer
Some performance testing code in fmpz_poly/profile
Polynomial composition for fmpz_poly
Improvement and bug fix to fmpz_poly_compose()
Further improvement to fmpz_poly_compose_divconquer, plus space analysis
fmpz_poly_pseudo_divrem_cohen (and _pseudo_rem_cohen)
Test file for fmpz_poly_compose
First version of fmpz_poly_signature in FLINT2
Small improvement to fmpz_poly_clear
Small improvement to fmpz_poly_derivative
Improvement to fmpz_poly_divrem_basecase, plus test code
Small change to fmpz_poly_print
Small change to fmpz_poly_normalise
Small change to fmpz_poly_primitive_part
Some work on pseudo division in fmpz_poly.
Modify fmpz_poly_signature to match Cohen's algorithm 4.1.11
Fix a memory leak in the test code for fmpz_poly_signature
Reduce the number of test cases for fmpz_poly_evaluate_horner_mpq
Modify fmpz_poly.h to change the signature for fmpz_poly_signature
Modify the signature of fmpz_poly_signature
Bug fix in the loop for normalisations in pseudo division over Z
Rewrite fmpz_poly_reverse using indices instead of pointer increments
Removed most allocations from fmpz_poly_divrem_divconquer recursive.
Code improvement for the fmpz_poly multiplication functions
Modified fmpz_poly_evaluate_horner, and plus more documentation
Small cosmetic improvements to fmpq_poly_add and _canonicalise
Small improvement to fmpq_poly_fit_length
Removed unnecessary "normalise" from "fmpq_poly_inv"
Bug fix in fmpq_poly_is_squarefree
Small improvement to fmpq_poly_mul (re-arrange of some code, plus using init2)
Small change to fmpq_poly_normalise
Fix a bug in fmpz_poly/mullow_KS.c, not ensuring limbs1 >= limbs2
Fix a bug in fmpz_poly/mul_KS.c, ensuring limbs1 >= limbs2 in mpn_mul
Update multiplication functions in fmpz_poly, plus documentation
Newton inversion of power series
First version of div_divconquer in fmpz_poly
Implemented _fmpz_poly_div_divconquer_recursive
Small change to _fmpz_poly_divrem_basecase
Small changes to Mulders short division
Small changes to Mulders short division
Merge branch 'seb' of github.com:SPancratz/flint2 into seb
Separate code for fmpz_poly_div_basecase
Added documentation and test code for div_basecase, update newton_inv
Small change to the documentation of div_basecase
Changed divrem_basecase to always be a full division, update documentation
Added small comment to divremlow_divconquer_recursive
A first version of fmpz_poly_rem_basecase
Further improvement of fmpz_poly_rem_basecase
Small improvement to divrem_divconquer, mostly cosmetic
Improved divrem_divconquer_recursive
Small update of the comments in divrem_divconquer_recursive
Small improvement to divrem_basecase and rem_basecase
divrem_divconquer_recursive no longer allocates temporary memory
Updated divrem_divconquer accordingly
Updated the documentation for polynomial division
Add fmpz_poly_divrem, _div, and _rem
Add something about divrem, div, and rem to the todo list
Small improvement to the readability of divremlow_divconquer_recursive
Small cosmetic changes to divrem_divconquer
Added fmpz_poly/profile/bm-div_divconquer.c
Improve documentation for pseudo_rem_cohen
Added fmpz_poly_resultant (using the subresultant algorithm)
Improvement of fmpz_poly_gcd_subresultant
A few very small changes throughout fmpz_poly
Update divrem_divconquer_recursive and divremlow_divconquer_recursive
Small fix in fmpz_poly/pseudo_divrem_basecase.c
Added fmpz_poly_pseudo_divrem_divconquer
Change "ulong" to "long" in mpn_zero and mpn_store
Small improvements in the memory allocation of pseudo_divrem_divconquer
Align the various test cases for (pseudo) division
Small update to pseudo_divrem_divconquer
Small change to pseudo_divrem_divconquer
Rename newton_inv to inv_newton
Add fmpz_poly_inv_series
Added fmpz_poly_div_series, plus a small fix for inv_series
Methods pseudo_div and pseudo_rem for fmpz_poly, first implementation
Small change to fmpq_poly/divrem.c in the case lenB == 1
Add "div" and "rem" only methods to fmpq_poly
Bug fix for divrem, div, rem in fmpq_poly
Include truncate and inv_newton in fmpq_poly
Update the low multiplication code in fmpz_poly
Change fmpz_poly_mullow_n to fmpz_poly_mullow
Small improvement to mullow_karatsuba_n.c
Include fmpq_poly_mullow
Change _fmpq_poly_mul to assume len1 >= len2 > 0
Update fmpq_poly_set_array_mpq, fix leak in the test file
Small fix to the "fmpz_poly" documentation
Modified "fmpz_poly.txt" for inclusion into a LaTeX document
Initial inclusion of the semi-automated manual.
Update "fmpz_poly.txt" up to the section on "Euclidean division"
Fixes a "control reaches the end of a non-void function" problem
Fixes an "unused variable" problem
Updated the "fmpz_poly" documentation for integration into LaTeX
Updated some code for the manual (doc.c, doc.tex)
Included "max_limbs" and "max_bits" in "fmpz_poly"
Update the documentation of "fmpz_poly" to include more functions
Update "fmpz.txt" for inclusion into a LaTeX file
Update the documentation generation code to include group descriptions
In "fmpz_poly.h", change "fmpz_vec_max_bits" to "fmpz_poly_max_bits"
Include "fmpz_poly_pow_trunc"
Include "fmpz_printf" and small improvement to "fmpz_print"
Including "fmpz_poly_printf" and modify "fmpz_poly_print"
Initial commit for the title page of the manual
Include "_fmpz_poly_print" and "_fmpz_poly_printf"
Bug fix in "doc/latex/doc.c"
Re-arrange some of the includes;Definitely insignificant.
Printing and pretty printing functions in the "fmpz_poly" header and docs
Update "read", include "fread" in "fmpz_poly"
Rename "printf" to "fprint", both in "fmpz" and "fmpz_poly"
Bogus work-around the "mpn_modexact_1_odd" problem.
Place the "fmpz_print" and "fmpz_fprint" into separate files
Fix the problem with "mpn_modexact_1_odd" following a suggestion by Bill
Adds read and fread to fmpz_poly
Update "t-pow_trunc.c" in fmpz_poly
Add new function "fmpz_cmp_ui"
Add function "fmpz_poly_evaluate_mod"
Add function "fmpz_poly_evaluate_mod"
Merge branch 'seb' of github.com:SPancratz/flint2 into seb
Update the documentation
Set "0^0 == 1" in ulong_extras
Include a bibliography (so far only for "ulong_extras")
Modify the documentation to make use of the bibliography (plus small changes)
Small fix of a typo in the documentation for ulong_extras
Another run through the "fmpz" documentation
Small updates to the "fmpz_mat" documentation, including the bibliography
Small updates to the documentation in ulong_extras and fmpz_poly
Modified the signature of "fmpz_poly_evaluate_mod()"
Updated the documentation of "arith", "nmod_mat", "nmod_poly", and "nmod_vec"
Add "fmpz_poly_zero_coeffs"
Adds return values to the print and fprint methods in the fmpz module
Adds return values to read and fread to the fmpz module.
Fix an obvious bug in print and fprint, and in the documentation
Adds return values to fmpz_poly printing functions
Adds return values to the input functions for fmpz_poly
Add test code for input and output in "fmpz"
Adds test code for input/ output to fmpz_poly
Small bugfix in the test code for "fmpz_poly_evaluate_mod"
Include return values for "fmpz_poly_fprint_pretty".
Small improvemen to "fprint" and "print" in fmpz
Update the "fmpz_poly" part of the manual
Update the "fmpz" part of the manual
Bug fix in "fmpz_poly_fprint_pretty"
Add "fmpz_poly_fread_pretty" with documentation and test code
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Modify powering in fmpz_poly to have 0^0 = 1
Replace a ">> 1" by "/ 2UL"
Remove unused code from fmpz_poly_pow_binexp
Update the bibliography
Update the fmpz_poly documentation of "pow_multinomial"
Small fix to the nmod_poly documentation.
Small improvement to the bibliography
Adds fdiv_q_si to fmpz, and test code for fdiv_q_ui and fdiv_q_si.
Update to fmpz for fdiv_q_si, fdiv_q_ui
Update the fmpz_fdiv_q_si and _ui functions.
Adds test code for fmpz_vec_scalar_divexact_fmpz, _si and _ui
Added idiom "(a ^ b) < 0L" to check for opposite signs
Fix the division by zero message in fmpz_fdiv_q
Bug fix for the idiom (c2 ^ r) < 0L, which doesn't work when r == 0L
Add fmpz_vec scalar division functions "fdiv_q_si" and "fdiv_q_ui"
Add the functions "tdiv_q", "t_div_q_si" and "t_div_q_ui" to fmpz
Small improvement to "fmpz_cdiv_q"
Update to the "fdiv" functions in "fmpz"
Add cdiv_q_si, cdiv_q_ui to fmpz, and update cdiv_q
Rename scalar_fdiv_q to scalar_fdiv_q_fmpz in fmpz_vec
Adds "scalar_tdiv_q_" functions to the fmpz_vec module
Add scalar division functions to the fmpz_poly module.
Fix fmpq_poly_pow so that 0^0 == 1
Adds fmpq_poly_div_series
Adds "fmpz_poly_lead" as a macro, no test code yet
Add the "fmpq_poly" documentation to the manual
Bugfix to fmpz_poly_divrem_divconquer
Improve the documentation for fmpz_poly_lead and add test code
Now really add the modified fmpq_poly documentation.
Update various bits of the documentation
Adds "fmpz_poly_get_coeff_ptr"
Adds "fmpz_poly" test code for t-set_fmpz, t-set_mpz, t-set_si, t-set_ui
Adds a first example program (delta_qexp, from flint1.6)
Update of the example program delta_qexp
Update the main Makefile to allow "make exmp"
Adds fmpz_poly_is_zero, and test code for _zero and _is_zero
Fixes a bug in fmpz_poly_scalar_addmul_fmpz()
Adds fmpz_poly_scalar_submul_fmpz
Removes "fmpz_poly_invmod" from the documentation.
Update to the fmpq_poly input and output functions.
Small improvement to fmpz_poly_fread and the documentation
Remove the previous "fmpq_poly_print()"
Improve the documentation
Update exmp/delta_qexp to use the actual flint2 function
Rename "exmp" to "examples"
Bug fix in fmpz_poly_divrem
Bug fix in fmpz_poly_div_divconquer
Modifies tests in fmpz_poly and fmpq_poly to reduce their runtime
Move the documentation of "fmpz_get_str"
Update the documentation of fmpz_is_zero, and include that of fmpz_is_one
Re-order the documentation in the group "Basic arithmetic" of fmpz
Replace "nonzero" by "non-zero" throughout the documentation of "fmpz"
Rename the group "GCD and extended GCD" to "Greatest common divisor"
Rename the group "Addition" to "Addition and subtraction" in fmpz_vec
Re-order documentation in "Scalar multiplication and division" in fmpz_vec
Update the documentation of fmpz_mat_init_set
Open a group "Input and output" in fmpz_mat
Open a group "Comparison" in fmpz_mat
Open a group "Basic assignment and manipulation" in fmpz_mat
Re-order documentation in "Basic assignment and manipulation" in fmpz_poly
Re-order the documentation in "Getting and setting coefficients" in fmpz_poly
Re-order documentation in "Scalar multiplication" in fmpz_poly
Update the documentation of "Powering" in fmpz_poly
Update the documentation of fmpz_poly_resultant
Update the documentation of fmpz_poly_div_divconquer
Update the documentation of fmpz_poly_div_divconquer_recursive
Rename "GCD, extended GCD" to "Greatest common divisor" in ulong_extras
Rename "Modular reduction" to "Modular reduction and arithmetic" in nmod_vec
Write documentation of "_nmod_vec_randtest"
Re-order documentation in "Basic manipulation and comparison" in nmod_vec
Re-name "Getting/setting coefficients" to "Getting and setting coefficients"
Update "Polynomial properties" and "Getting ... coefficients" in nmod_poly
Fix a typo in the documentation of "nmod_poly_print"
Adds documentation for "nmod_poly_set"
Rename "Addition/subtraction" to "Addition and subtraction"
Update some documentation in "Scalar multiplication" in nmod_poly
Update documentation in "Shifting" in nmod_poly
Replace "vspace" by "vspace*".
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Adds "_fmpz_vec_fprint" with return code
Rewrite "_fmpz_poly_fprint" to use "_fmpz_vec_fprint"
Adds fmpz_vec input functions; no test code
Rename "_fmpz_vec_copy" to "_fmpz_vec_set"
Rename "_nmod_vec_copy" to "_nmod_vec_set"
Rename "_mpfr_vec_copy" to "_mpfr_vec_set"
Rename "fmpz_mat_copy" to "fmpz_mat_set"
Rewrite the fmpz_mat output functions to have return values.
Small layout change to fmpz_mat.h
String input and output in "nmod_poly"
Add some separators (for the various groups) to nmod_poly.h
Re-organise the "nmod_poly" documentation according to the groups
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Update the fmpq_poly documentation, including scalar multiplication
Improve the fmpq_poly scalar multiplication functions
Modifies fmpz_randtest().
Small fix in the documentation of ulong_extras
Add "_fmpz_vec_randtest_unsigned()"
Follow-up on a previous commit in which I left a typo
Some documentation for fmpq_poly_randtest_foo
Update n_randtest()
Really small change to fmpz_poly/randtest.c
Update the behaviour of fmpq_poly_randtest
Bug fix for fmpz/randtest.
Improves the documentation and test code for fmpz_vec_max_limbs
Small bug fix in fmpz_poly/randtest.c
Documentation for fmpq_poly in the manual
Add a module "long_extras" with randtest() functions
Improves ulong_extras/randtest
Use the z_randtest() functions in the test code
Fix "floating point exception" bug in fmpq_poly_scalar_div_si
Bug fix in fmpq_poly_scalar_mul_si (which did not surface so far)
Adds "is_canonical" to fmpq_poly
Includes "long_extras" in the documentation
Update the fmpq_poly test code to test for canonical output
Add a function "fmpq_poly_debug" to print debug information.
Bug fix for fmpq_poly_scalar_div_mpq
Adds test code for scalar_div_mpq and scalar_mul_mpq in fmpq_poly
Modify the fmpq_poly test code to use "fmpq_poly_debug"
Small improvement to the various fmpq_poly_set_coeff_foo methods
Adds a test to t-factor in ulong_extras.
Bug fix in fmpq_poly_set_coeff_mpq (result was not in lowest terms)
Small syntax fix (FLINT64)
Update fmpq_poly_set_coeff_xxx functions
Another update for the fmpq_poly_set_coeff_xxx functions
Update fmpz/fdiv_qr.c to fix a compiler warning.
Simplify the code in fmpz/fdiv_qr.c
Fix "label ‘s_0’ defined but not used" in fmpz_poly/fread_pretty
Fix "control reaches end of non-void function" in fmpq_poly/debug
Fixes "warning: unused variable ‘len_out’" in nmod_poly/mulhigh
Adds "fmpz_poly_evaluate_divconquer_fmpz".
Remove the three unnecessary functions from fmpz_poly/evaluate_divconquer_fmpz
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Update the documentation
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Update the date
Update documentation
Update the manual.
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Update the documentation (mostly fmpz_poly)
Modify fmpz_poly_evaluate_fmpz to choose algorithm
Added "fmpq_poly_fprint_pretty" to the todo list
Fix a bug in the documentation creation.
Updates the documentation
Updates the returns values (from void to int) of some I/O functions
Update the "nmod_poly" documentation
Bugfix in fmpz_poly/evaluate_mpq.c
Small bugfixes in "get_str_pretty" and "set_str"
Adds the function "fmpz_remove".
Adds "fmpz_powm_ui" with test code and documentation
Initial commit for the "padic" module
Bugfix in "padic_normalise"
Miscellaneous updates to "padic"
Bugfix for padic_sub
Adds lots of test code and a few changes to "padic"
Updates the padic output functions, plus a stub for "padic_get_str"
Bug fix in fmpz_poly (fmpz_poly_max_bits).
Include precomputed powers and better removal of p's in "padic".
Small documentation change to "padic_add"
Update to "padic_normalise"
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Modifies "padic_inv" to have no assumption on the input precision
Adds "padic" to Makefile.in
Adds inversion via Hensel lifting plus some test code
Small improvement to "padic/mul"
Update the padic/Makefile
Update documentation for "padic_mul"
Include copyright in padic/inv_hensel
Small changes to padic_inv_hensel
Using reduced unit-parts in padic_inv_hensel
Improvement to padic_inv_hensel (compute powers of p)
Small change to padic_inv_hensel
Include "n_sqrtmod" in ulong_extras
Adds "fmpz_sqrtmod"
Small update for n_sqrtmod
Modified padic/inv_hensel to work with fmpz's in the _ function
Adds "fmpz_is_even" and "fmpz_is_odd".
Adds "padic_sqrt".
Small update to padic/sqrt
Adds test code for padic/sqrt
Small change to padic_inv_hensel (to leave N unchanged).
Remove the "memtime" call from padic/Makefile
Fix a bug in padic/sqrt, add test code.
Remove "fmpz_remove".
Adds documentation and test code for "fmpz_is_even" and "fmpz_is_odd"
Update the todo file.
Update the fmpz_poly section of the TODO file
Improvements to the padic test code
Set up padic_inv
Update the documentation of "padic"
Updates fmpz_poly_shift_left/right for better handling of aliasing
Adds documentation for padic_sqrt and test code which fails for p=2
Adds or modifies "fmpz_remove", "fmpz_powm_ui" and "fmpz_powm"
Includes the case "p=2" in the padic_inv_hensel test code
Removes the function "_padic_remove" and instead calls "_fmpz_remove"
Adds "padic_exp" for odd primes
Adds "is_one" and "is_unit" to the fmpz_poly module
Initial commit for "fmpz_poly_q".
Modifies "fmpz_poly_gcd" to bypass the heuristic gcd code.
Add "fmpz_poly_q" to Makefile.in
Small update for fmpz_poly_shift_left/right
Adds the "Makefile" to fmpz_poly_q
Slightly more robust test code for fmpz_poly_gcd_heuristic.
Small update for "fmpz_poly_scalar_mul_ui"
Bug fix(?) in fmpz_poly_q_scalar_div_si to do with LONG_MIN.
Improvement to "fmpz_poly_q_is_zero"
Update of "fmpz_poly_q_add" to special case polynomials
Further update for "fmpz_poly_q/add".
Update for fmpz_poly_q/sub, special case polynomials
Update "mul" and "div" in fmpz_poly_q.
Bug fix for fmpz_poly_fprint_pretty.
Adds "fmpz_poly_debug"
Adds (in a quick & dirty manner) a function to compute ord_p(n!)
Adds "padic_get_mpq" and "padic_set_mpq"
Quickly re-set padic_exp so that it is working again (for odd p)
First implementation of "padic_teichmuller"
Adds "get_mpz" and "set_mpz" to "padic"
Adds "padic_shift"
Modify the todo list
Merge branch 'roadmap' of http://selmer.warwick.ac.uk/flint2 into seb
Merge branch 'master' of http://selmer.warwick.ac.uk/flint2 into seb
Updates "padic/test/t-shift.c" with another test scenario
Bugfix to "fmpq_poly_get_str_pretty"
Move "fmpq_poly_get_str_pretty" to a separate file
Further improvements to fmpq_poly_get_str_pretty
Fix for "padic/sqrt" in the case "p = 2", by Jan Tuitman
Adds "padic_get_fmpz".
Handle the case of "0" more gracefully in fmpz/remove.c
Various updates to "padic"
Adds "z_randint" to long_extras
Adds test code (aliasing only!) for padic_pow_si
Updates "padic" with a new function "_padic_ctx_pow_ui"
Fix some calls to "_padic_ctx_pow_ui"
Adds a further test case for padic_pow_si, which currently fails!
A first step towards allowing negative valuations
Adds "_fmpz_remove" to the header file and adds documentation
Overhaul of the module "padic".
Change the call to "padic_val_factorial" to "padic_val_fac"
Update the documentation to include the "fmpz_poly_q" module
Add flint specific file header to all files in "fmpz_poly_q"
Adds some basic functions to "fmpq" and "fmpq_mat".
Follow-up for the previous commit on "fmpq" and "fmpq_mat".
Small bugfix in "fmpq_div()"
Another follow-up to the earlier "fmpq_mat" commit.
Modifies the behaviour of "fmpq_mat_one"
Fixes the test code for "fmpq_mat_inv()"
Adds test code for scalar multiplication/ division in "fmpq_mat"
Adds "fmpq_sgn"
Adds "fmpq_poly_get_coeff_fmpq" and the same for "set"
Adds "fmpq_poly_addmul" and "fmpq_poly_submul"
Adds "fmpq_poly_set_fmpz_poly"
Bug fix for "fmpq_poly_one()".
Lots of changes to "padic"
Big update to the module "padic"
Another set of updates to "padic".
Very small doc-fix in fmpz_poly
Update of the "padic" module's documentation and todo list
Adds "fmpz_poly_mat" to the documentation
Remove "padic/test/t-all.c" to remove output from "make check MOD=padic"
Adds "fmpq_swap".
Adds "fmpq_mat_transpose"
Adds "fmpz_poly_sqr()" for squaring polynomials.
Adds "fmpz_poly_lcm"
Adds "fmpq_fprint".
Adds "_padic_init", "_padic_clear" and re-organises the printing
Improvements to "padic"
Re-order PADIC_VAL_UNIT output
Bugfix in "_padic_is_one"
Adds "fmpz_divisible" and "fmpz_divisible_si", no test code yet.
Updates "fmpz/divisible" and "fmpz_divisible_si", with test code
Adds "fmpz_fits_si".
Adds "fmpz_fdiv_r_2exp".
First non-"simple wrapper" implementation of fmpz_powm(_ui)
Big update to "padic".
Bugfix to "nmod_poly_divrem_divconquer".
Updates "fmpz_remove"
Update to padic_teichmuller
Adds "sqrlow" and variants to "fmpz_poly".
Small bug fix to "fmpz_poly_mullow_karatsuba".
Make use of "fmpz_poly_sqrlow" in a few places
Adds clog and flog functions to "ulong_extras" and "fmpz".
Adds "nmod_poly_compose_series_divconquer".
fmpz_sizeinbase, z_sizeinbase.
Small changes to fmpz/get_str, fmpz/set_str
Bugfix in "fmpq_poly/set_array_mpq"
Fixed a type in the documentation of divrem_divconquer.
Fix for fmpz_poly/divrem_divconquer.
Adds "fmpq_get_str".
Updates "padic_get_str"
Initial commit for "padic_log"
Bug fix and improvement to padic_exp()
Update to "padic_log"
Updates "padic_log()"
Moves the "-" sign out of _padic_log
Updates padic_log
Bug fix to fmpz_poly_zero_coeffs.
Update to padic_inv.
Another update to fmpz/powm_ui.c
Bug fix for "fmpz_poly_xgcd_modular"
Removes unnecessary "return" from fmpz_poly/gcd
Adds gcd, xgcd, and lcm to fmpq_poly.
Adds functions to obtain read-only mpz_t's from fmpz_t's.
Updates get_mpz_readonly and clear_mpz_readonly.
Update to _fmpz_demote_val().
Update the todo file with regards to _fmpz_demote_val()
Small improvement to "fmpz_get_str"
Adds fmpz_init_set()
Small improvement to "fmpz_poly_get_coeff_fmpz"
Adds "_fmpz_vec_mod_fmpz".
Small change to fmpz_poly/mullow.c
Initial commit for "fmpz_mod_poly".
Adds fmpz_gcdinv()
Adds fmpz_mod_poly_lead()
Bugfix in fmpz_mod_poly_neg()
Improvement to fmpz_poly_divrem_basecase()
Improvement to fmpz_poly_divrem_divconquer()
Adds divrem_basecase and divrem_divconquer to fmpz_mod_poly
Adds fmpz_mod_poly_divrem().
Adds FMPZ_VEC_NORM
Adds gcd_euclidean and make_monic to fmpz_mod_poly
Improvement to fmpz_poly_inv_series_newton.
Make use of the FMPZ_VEC_NORM macro in fmpz_poly
Improvement to "nmod_poly_div_newton".
Improvements to "inv_series_newton" in three modules.
Adds canonicalisation to "_fmpq_poly_inv_series_newton"
Fix syntax bug, omitted variable declaration
Fix memory problem in fmpz_poly_div_divconquer.
Allows +-1 in the constant term of power series inversion over Z.
Update to fmpz_poly_inv_series_newton.
Bugfix in fmpz_poly_div_basecase.
Update to fmpq_poly_inv_series_newton
Place "_fmpz_poly_fprint_pretty" in the header file.
Massive update for fmpz_mod_poly.
Adds "sqr" and "pow" to "fmpz_mod_poly".
Adds radix conversion functionality to fmpz_mod_poly.
Updates the radix conversion in fmpz_mod_poly.
Adds derivative and evaluate_fmpz to fmpz_mod_poly.
Adds an entry for "fmpz_mod_poly" to Makefile.in
Small improvement to fmpz_poly_compose_horner.
Adds compose_horner and set_fmpz to fmpz_mod_poly.
Adds fmpz_mod_poly_compose_divconquer.
Small changes to fmpz_mod_poly/mul
Update create_doc.c to allow "_" at the beginning of function names.
Adds fmpz_init_set_ui
Adds fmpz_mod_poly_set_coeff_ui.
Adds fmpz_mod_poly to the manual.
Adds examples/fmpz_mod_poly.c
Bugfix for fmpz_powm and fmpz_powm_ui.
Bugfix in fmpz_remove.
Adds fmpq_pow_si()
Updates test and doc for padic_pow_si
Change the signature of _fmpz_mod_poly_scalar_mul_fmpz_
Adds fmpz readonly conversions between fmpz_t and mpz_t.
Adds "fmpq_poly_set_fmpq"
Added extra parentheses to fmpz/mpz_clear_readonly
Changes to fmpq, incl readonly conversion, abs, and randtest.
Changing fmpq_poly to favour FLINT over MPIR data types, part I
Fix duplicate fmpq/randtest
Make fmpq_poly favour FLINT over MPIR data types, part II
Adds fmpq_poly_get_slice
Adds fmpz_one.
Adds fmpq_poly_resultant
Makes use of fmpz_one throughout the library.
Removes the empty(!) file fmpz/set_ui
Adds nmod_poly_resultant_euclidean, tests still fail!
Adds nmod_poly_resultant, just a wrapper. Plus bug fix to _euclidean
Small change to fmpq_poly_resultant
Modifies the contract for padic_ctx_pow_ui
Added NTL-interface.h and .cpp
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Bugfix to foo_divrem with aliasing.
Replaces "_nmod_vec_free" by "_nmod_vec_clear"
Update to padic.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
It's "_nmod_vec_clear" now
Fixed a typo in Makefile.in
Adds "fmpz_mod_poly_rem" as a simple wrapper.
Adds build_hensel_tree and hensel_lift to fmpz_poly
Adds "fmpz_poly_scalar_mod_fmpz", no test code yet.
Update re Hensel lifting
Another update on the way to integrating Hensel lifting.
Another update for Hensel lifting.
Another step of the port of hensel lifting for factorisation.
Improves fmpz_poly/start_hensel_lift
Introduces "FLINT_CLOG2" and "FLINT_FLOG2", plus doc.
Another lot of changes toward Hensel lifting
Unified the structures for factorisations.
Adds documentation for "fmpz_mod_poly_rem".
Adds test code for Hensel lifting, plus factor_print().
Fix doc for fmpz_fdiv_q_2exp
Change in signature nmod_poly...deg_prob, ulong -> long
Another stupidly large commit related to Hensel lifting.
Move the functions _fmpz_vec_scalar_mod_fmpz and _smod_fmpz
Adds doc and tests for fmpz_vec_scalar_mod_fmpz and _smod_fmpz
Add a separating line for "Hensel lifting" in the header
Clarifies the documentation to factor_concat
One character doc fix in fmpz
Small doc fix in fmpz_poly
Update the documentation Makefile to remove temporary tex files
Adds more functions to the factor struct interface.
Ported fmpz_poly_zassenhaus_naive.
Modifies Hensel test code
Improvement to hensel_lift_without_inverse, plus doc fix.
Update the Hensel lifting functions and documentation.
Remove unnecessary parameter "f" from hensel_lift_only_inverse
Update to Hensel lifting, lift_only/without_inverse now done.
Updates hensel_lift, finally.
First version of HALF GCD in nmod_poly.
Small visual improvement to gcd_hgcd
Bugfix. Wrap macro arguments in flint.h, mpn_extras.
Update to gcd_hcdg. NOTE: Not a final commit, work in progress.
Another update for HGCD in nmod_poly.
An update on the way to implementing a HGCD based XGCD
Small changes to nmod_poly_xgcd_euclidean
Update to the documentation
XGCD based on HGCD done. Plus some related updates.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Adds a suppression file "Invalid Read"s by __gmpn_copyi.
Bugfix for fmpz_mod_poly/gcd_euclidean.c
Adds nmod_poly_divrem_q1.
Get rid of one compiler warning in padic_pow_si.
Small improvement to nmod_poly_divrem_q1
Adds nmod_poly_divrem_q0.
Reorder the arguments of nmod_pol_str.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Merge branch 'hensel_branch' of https://github.com/AndyNovo/flint2 into trunk
Bugfix in hensel_continue_lift, same as in hensel_start_lift.
Improve the code layout in squarefree factorisation.
Bugfix in squarefree fac. Take *signed* content.
Bugfix in factor_realloc. Don't reset the content.
Updates for "fmpz_poly_factor".
Adds a wrapper "fmpz_mod_poly_gcd".
Adds "fmpz_mod_poly_divrem_f".
Timing file for polynomial GCD, plus an update to nmod_poly.h
On the way to improving nmod_poly/divrem_basecase.
Fix a typo.
Begins to add remainder only variants for nmod_poly.
Merge branch 'hensel_branch' of https://github.com/AndyNovo/flint2 into trunk
Small cosmetic changes to div_newton, divrem_newton
Add an include in some test code to prevent warnings
Fix in fmpz_poly_rem, which used to only call rem_basecase
Update the nmod_poly_gcd profiling function
Merge branch 'hensel_branch' of https://github.com/AndyNovo/flint2 into trunk
Done some work on the Zassenhaus code.
Small changes to the Zassenhaus code.
Bug fix (content!) in Zassenhaus, plus test code (fails!)
Remove the non-underscore functions for divrem_q0 and _q1
Small cosmetic changes to fmpz_mod_poly_gcd_euclidean
Small cosmetic improvements
Adds fmpz_mod_poly_rem_basecase
Adds _fmpz_mod_poly_divrem_f().
Small changes to fmpz_mod_poly_gcd_euclidean
Includes fmpz_mod_poly_gcd_euclidean_f
Small improvement to fmpz_mod_poly_gcd_euclidean
Small fix for fmpz_mod_poly_gcd_euclidean_f
Merge branch 'hensel_branch' of https://github.com/AndyNovo/flint2 into trunk
Modifications to the Zassenhaus factorisation code.
Make use of "fmpz_poly_hensel_lift_once" in Zassenhaus.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Renames "fmpz_set_ui_mod" to "fmpz_set_ui_smod".
Another update for fmpz_poly_factor_zassenhaus.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Minor changes to fmpz_poly/mul_SS.
Update copyright in nmod_poly.h
Big compilation of little changes before the 2.3 release.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Minor update to mullow_SS.
One fix for fmpz_poly_factor/zassenhaus
Fixes a bunch of remaining warnings.
Fixes two mistakes in my earlier commit.
Bugfix in the test code for fmpz_vec get/set_nmod_vec
Fix in pseudo_divrem_divconquer.
Fix memory allocation problem in pseudo_divrem_divconquer.
Remove an explanation from the top of pseudo_divrem_divconquer
Small improvements to the code of padic_inv and padic_sqrt.
Improvement to padic_teichmuller.
Adds a macro FMPZ_VEC_SWAP similar to MPN_SWAP.
Adds fmpz_mod_poly_xgcd_euclidean.
Fixes a problem with fmpz/test/t-set_ui_smod.c
Remove an unnecessary line from fmpz_mod_poly_xgcd_euclidean
Rewrite nmod_poly_xgcd_euclidean.
Adds an underscore version of _fmpq_poly_fprint_pretty.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Small improvement to fmpz_poly_fprint_pretty.c
Small bugfix in fmpz_mod_poly/xgcd_euclidean
Improvement to padic_teichmuller
Adds fmpz_mod_poly_gcdinv
Change the signature in fmpz_mat_equal to add "const"
Adds fmpz_tstbit.
Adds _padic_teichmuller to the header file
Adds fmpz_mod_poly_invmod, updates _gcdinv.
Changes to padic_log and padic_teichmuller.
Merge branch 'trunk' of http://selmer.warwick.ac.uk/flint2 into trunk
Incorporate Fredrik's padic_exp implementations.
Incorporation and small clean-up of Fredrik's padic_exp code
Updates the padic exponential function.
Implements a choice of algorithm in padic_exp
Merge branch 'trunk' of https://github.com/fredrik-johansson/flint2 into trunk
Commit for padic_log, on the way to a proper implementation.
Improvement to padic/log_rectangular
Further improvement to padic_log_rectangular.
Adds padic_log_rectangular to the header file and doc.
Adds padic_log_satoh, and modifies other log functions.
Limits the number of precomputed powers in padic_ctx_init
Bug fix in padic_log_satoh.
Adds fmpz_setbit.
Improves padic_sqrt_2.
Small improvements to padic_exp and padic_log
Bugfixes to all variants of padic_log.
Adds _fmpz_poly_is_one()
Small improvement to padic_log_rectangular.
Improvement to padic_sqrt.
Adds padic_log_balanced().
Improvement to padic_log_balanced, precomputed inv.
Improvement to padic_sqrt, merging the last product into the lift
Update printing in "padic"
Updates "fmpz_mod_poly_set_coeff_XXX" to reduce mod p.
Adds fmpz_mod_poly_modulus().
Add the padic_poly module.
Adds the module "padic_mat"
Improves padic_poly_add/sub().
Improvement to padic_poly_neg.
Adds padic_poly_randtest_val.
Initial commit for the "qadic" module.
Update to "qadic", including lots of documentation.
Adds test code for qadic_pow()
Improve test code for qadic_sigma, also includes products now.
Modifies qadic_sigma() to take a second parameter e.
Improves qadic_sigma().
Fix for padic_mat.h, removing include of mat_common.h.
Improves qadic_teichmuller.
Rename qadic_sigma to qadic_frobenius
Include Paterson-Stockmeyer in qadic_frobenius
Small changes to qadic_frobenius
Small improvement (~ 2.5%) to qadic_inv.
Update to Makefile.in, including "qadic".
Remove a header from qadic/inv
Adds qadic_exp()
Adds qadic_log_rectangular, and makes small changes to qadic_exp.
Adds qadic_trace and qadic_get_padic.
Small improvement to qadic_log_rectangular.
Modifies _qadic_pow to accept e >= 0, not just e > 1.
Adds qadic_sqrt() in the odd case, still work in progress.
Adds "_padic_mat_is_canonical()" and uses this in test code.
Updates printing in other p-adic modules
Bugfix for fmpq_poly_fprint_pretty.
Bugfix for fmpq_poly_fprint_pretty.
Modifies some padic_poly test files
Improve padic_poly_get_fmpq_poly
Bugfix in padic_poly_set_fmpq_poly
Sebastian Pancratz (257):
Fixed a bug in fmpz/gcd.c
Indenting to 4 spaces and removing empty lines at the end of the file
/*============================================================================
Adding fmpq_poly_init, _clear, and _canonicalize, not stable yet.
Added _fmpz_vec_content to the header file.
Written code for init, init2, realloc, fit_length, set_length, clear,
Added the file fmpq_poly/canonicalise.c
Changed the "define FMPZ_POLY" to "define FMPQ_POLY" in fmpq_poly.h
Added documentation for fmpz_vec scalar division
Added the files for fmpz_vec scalar division
Use fmpz_vec scalar division in fmpq_poly canonicalise
Fixed a typo (_ to ->) in fmpq_poly canonicalise.
Added method signatures and documentation for the assignment methods
Changed signature of init2 in fmpq_poly.h
Added the scalar division signatures to fmpz_vec.h
Added the function fmpq_poly_is_one
Added methods "degree" and "length"
Added numref and denref to fmpq_poly
Added methods set_mpz, set_mpq to fmpq_poly
Added a bunch of files, plus coefficient methods.
Added documentation for set_coeff_ui in fmpq_poly.
Added the comparison function to fmpq_poly
Added support and documentation for randomisation
Fixed a bug in fmpq_poly_realloc
Written to_string and to_string_pretty for fmpq_poly
Added documentation and signatures for to_string and to_string_pretty.
Added printing support to stdout
Fixed bug in set.c for fmpq_poly.
Fixed a set_length bug in fmpq_poly_set_XXX. Tested inv.
Added set_coeff_ui to fmpq_poly.h
Added addition code for fmpq_poly
submul functions and is_zero for fmpz_vec
Small fixes in fmpq_poly.h, fmpz_vec.h, plus test code for addition.
Fixed bug in addition for fmpq_poly
Including scalar_mul_ui in fmpz_vec.
Adding the file for scalar_mul_ui in fmpz_vec and change "const" in is_zero
Including the subtraction file, and adding scalar_mul_XXX to fmpq_poly.c
Added the scalar_mul_XXX files for fmpq_poly
Changed lots of 1 to 1L
Added scalar_div functions
Merge branch 'fmpq_poly' into seb
Added error messages and some _ methods for scalar_division
Added fmpq_poly_zero method
Multiplication for fmpq_poly
Small change in fmpq_poly_swap
Undoing the previous change
Before debugging addition in fmpq_poly
Fixed bugs in addition, subtraction in fmpq_poly
Added file for fmpq_poly_zero
Changed set_coeff functions in fmpq_poly, esp. set_coeff_mpq
/*=============================================================================
Update fmpz.h after adding fmpz_fdiv_q_ui
Update the documentation after adding fmpz_fdiv_q_ui
Scalar multiplication for fmpq_poly
Added _canonicalise for fmpq_poly
Added wrappers for fmpz_poly_divrem to be used in fmpq_poly_divrem
Changed a few rpoly's to rop's in the scalar multiplication code
Added stdlib to fmpq_poly_scalar_div_mpq
Documentation and header file for fmpq_poly
Scalar division operations in fmpq_poly
set_coeff_mpz for fmpq_poly
Minor changes to the fmpq_poly_set_XXX methods
Small changes to set_length in fmpq_poly
Fixed a bug with den == -1 in new _canonicalise code
Small changes to init, init2 and realloc, namely removing const for ulong arg
Added divrem, fixed canonicalise, small changes to inv and mul
Powering operation for fmpz_poly
Swapping two vectors in fmpz_vec
Changed fmpz_poly_small to also include the case e == 4
Added a new test case for fmpz_poly_pow
Powering in fmpz_poly and fmpq_poly
Add testing files to the repository
Add pow for fmpq_poly to the repository
Removed debugging print statements from fmpz/test/t-gcd
Added degree and length functions to fmpz_poly
Added set_ui, si, fmpz and mpz to fmpz_poly
Adding the set_XXX files for fmpz_poly to the repository
Bug report in todo list for mul_KS and mullow_KS
Fixed bug due to unitialised "length" in fmpz_poly_karatsuba
Changes to the header file fmpz_poly.h
Fixed a typo in fmpz_poly/set_fmpz
Include new file mullow_KS.c in fmpz_poly
Have an _ method for mullow_n.c in fmpz_poly
Updated documentation file for fmpz_poly
Update for fmpz_setbit
Bug fix for xgcd_euclidean and others
Fix a comment in log_rectangular.
Change the iteration formula in padic_inv
Improvement to padic_teichmuller.
Simplify the code in padic_exp_rectangular.
Improve qadic_inv, removing most mod operations.
Improve qadic_sqrt, replacing the last multiplication.
Bugfix: remove _fmpz_poly_scalar_submul_fmpz from the header.
Update of qadic_teichmuller.
Improve qadic_frobenius.
Bugfix: remove _fmpz_poly_scalar_submul_fmpz from the header.
Simplify the code in padic_exp_rectangular.
Improvement to padic_teichmuller.
Change the iteration formula in padic_inv
Improve qadic_trace using the approach based on Newtons eqs
Update padic_exp.
Adds qadic_norm.
Update qadic_exp.
Bugfix in padic_log.
Fixed syntax problem in qadic.h
Small improvement to padic_log_balanced.
Bugfix in qadic_log_rectangular.
Modifies the test code for qadic_log_rectangular
Adds qadic_log_balanced.
Update padic_exp.
Bugfix in padic_log.
Small improvement to padic_log_balanced.
Small fix in fmpz_poly/profile/p-mul_triangle.
Improvements to the padic logarithm function.
Improvements to the padic logarithm function.
Improvements to padic_exp_balanced
Adds qadic_exp and qadic_exp_balanced.
Improvements to padic_exp_balanced
Small updates to the qadic header and docs.
Adds qadic_log, and makes use of this in the norm computation.
Adds a bunch of profiling code for arithmetic over Qp and Qq
Make sure exp_balanced and exp_rectangular call the right functions.
Modifies padic/p-exp_rectangular
Modifies more profiling code.
Modifies all p-adic profiling code output.
Adds _log_padic_balanced to the header.
Adds _log_padic_balanced to the header.
Adds list output to qadic/profile.
Fix for the previous commit.
Merge remote branch 'bill/padic' into padic
Small fix in qadic_trace.
Update Makfiles in the padic branch.
Update of qadic_mul.
Adds profiling code for padic and qadic multiplication.
Include algorithm selection for qadic_norm.
Remove unused variable in qadic/log_rectangular.
Update qadic_pow.
Small update to qadic_teichmuller.
Factor out the nonresidue code for qadic/sqrt.
On the way to qadic_sqrt for p=2.
Merge branch 'padic' of https://github.com/wbhart/flint2 into padic
Adds _fmpz_vec_scalar_fdiv_r_2exp.
Adds _fmpz_vec_scalar_fdiv_r_2exp.
Bugfix in fmpz_vec_scalar_fdiv_r_2exp().
Another intermediate commit for qadic_sqrt_2().
Bugfix in fmpz_vec_scalar_fdiv_r_2exp().
Adds "fmpz_mat_charpoly()."
Bugfix for fmpz_mat_transpose.
Stash qadic_sqrt changes, not working yet.
Bugfix for fmpz_mat_transpose.
Adds fmpz_poly_mat_transpose().
Adds fmpz_poly_mat_transpose().
Fix includes for fmpz_poly_mat_transpose.
Fix includes for fmpz_poly_mat_transpose.
Adds "fmpz_mat_charpoly()."
Adds padic_mat_get, set_fmpq_mat(), and _nrows(), _ncols().
Small update to "qadic".
Improve qadic_inv in the case len = 1.
Improve examples/qadic
Adds qadic_set_fmpz_poly.
Bugfix for FLINT_ABS.
Adds qadic_gen and qadic_set_ui.
Adds an example file for radix conversion over Z/nZ.
Adds an example file for radix conversion over Z/nZ.
Adds a const modifier to the third argument of fmpz_randm.
Adds a const modifier to the third argument of fmpz_randm.
Initial update for "fq" and "fq_poly".
Remove unsued variable in fmpz_poly_mat_transpose.
Remove unsued variable in fmpz_poly_mat_transpose.
Next update for "fq_poly", including mul_classical.
Small fix for _fq_reduce().
Adds _mul_reorder and _mul_KS to fq_poly.
Improvement to fmpz_poly_mul_KS and mullow_KS.
Improvement to fmpz_poly_mul_KS and mullow_KS.
Remove unused "limbs" from fq_poly/mul_KS
Added another example to examples/fq_poly.
Fix "len1 >= len2" issues at fq_poly_mul_KS.
Adds fq_poly_mul().
Adds fq_sqr().
Modify fq_mul() test code
Add fq_sqr() test code
Bugfix for fq_poly/mul_reorder
Adds fq_poly squaring routines.
Adds fq_swap.
Adds fq_poly_evaluate_fq.
Adds shift_left and shift_right to fq_poly.
Adds mul_fmpz, mul_si, mul_ui to fq.
Adds fq_poly_derivative.
Adds test code for fq_poly_shift_left/right.
Adds fq_poly_hamming_weight.
Fix bug in mul_KS for fq_poly.
Improves test code fq_poly squaring.
Adds fq_poly_pow().
Adds fq_poly_divrem_basecase.
Improvement to fmpz_poly_compose_divconquer.
Improvement to fmpz_poly_compose_divconquer.
Adds fq_poly_compose().
Small improvements to fmpz_poly_compose.
Small improvements to fmpz_poly_compose.
Adds fq_poly_divides.
Fix memory leak in fmpz_poly_divides().
Fix memory leak in fmpz_poly_divides().
Small improvement to fmpz_poly KS.
Adds fq_poly_mullow routines.
Merge branch 'trunk' of https://github.com/wbhart/flint2 into trunk
Merge branch 'padic' of https://github.com/wbhart/flint2 into padic
Merge branch 'padic' into fq
Adds fmpz/equal_si and equal_ui.
Improves fmpz_mod_poly/derivative.
Improves nmod_poly composition code.
Initial commit for "padic2".
Bugfix for padic log functions.
Update for _padic_log_bound.
Improves padic_val_fac.
Rename padic_lifts_XXX to _padic_lifts_XXX.
Ensures the padic docs work with the manual.
Further changes to padic.
Small further changes to "padic".
Fix padic examples.
Remove an exception print from arith/stirling1.c.
Small coding changes to stirling1.c.
Changes exception print statements in arith.
Changes exception statements in fmpq, fmpq_mat, fmpq_poly, fmpz.
Update exception statements in fmpz_mat.
Modifies exceptions in fmpz_mod_poly, fmpz_poly, and flint_malloc.
Updates exceptions in fmpz_poly_factor, fmpz_poly_q, fmpz_vec, and nmod_mat.
Forgot a semicolon after an "abort" in fmpz_poly_randtest.
Modify exception statements in nmod_poly.
Modifies more exceptions.
Small fix for 8c1542a3c12a2a002d98ed2b2c42e837222fe13b.
Initial commit for branch 'qadic'.
Update Makefile in padic_poly.
Two small changes to padic/add and padic/reduce.
First update of padic_poly to include a precision.
Bugfix in padic_poly/test/t-compose. All tests pass now.
Adds test functions "is_reduced" and "is_canonical".
Further updates to padic_poly to pass tests.
Intermediate commit for "padic_mat".
Update padic/test/t-mul.
Bugfix for padic_poly add/sub.
Update "qadic" module, still in progress.
Fixes bug in the qadic sqrt code for p=2.
Temporary commit for qadic sqrt.
Temporary commit for qadic sqrt.
Use typedef's for the qadic types.
Misc qadic commit.
Small improvements to qadics documentation.
Small changes to qadic.h
Small improvements to qadic/test/t-frobenius.
Remove the function qadic_scalar_mod_ppow.
Small improvement to qadic exp/exp_rectangular.
Add padic_poly, padic_mat and qadic to the Makefile.
Fix padic_poly_randtest_val.
Temporary commit for the qadics.
Modifify examples/qadic.c with a different example.
Temporary commit for qadic/sqrt, still broken.
Bugfix for padic_poly_derivative.
Thomas DuBuisson (1):
Split up config params to avoid newline issues.
Thomas M. DuBuisson (22):
Make nmod_poly_fread set the mod to the value from the file (re-init).
Merge commit '24be8a793d759bb8294fc3f9ed23853cac90114f' into trunk
Add fmpz_mod_poly_fread(...) to obtain mod polys from FILE *.
Make nmod_poly_fread set the mod to the value from the file (re-init).
Add fmpz_mod_poly_fread(...) to obtain mod polys from FILE *.
Merge branch 'trunk' of github.com:TomMD/flint2 into trunk
Add test for fmpz_mod_poly_fread()
Merge branch 'trunk' of https://github.com/SPancratz/flint2 into trunk
Merge branch 'trunk' of https://github.com/fredrik-johansson/flint2 into trunk
Merge branch 'trunk' of https://github.com/fredrik-johansson/flint2 into trunk
Merge branch 'trunk' of https://github.com/SPancratz/flint2 into trunk
Merge branch 'trunk' of https://github.com/fredrik-johansson/flint2 into trunk
Merge commit '2910235b08c7bbb54818d9f3d4c73a5054bed306' into HEAD
Merge branch 'trunk' of https://github.com/fredrik-johansson/flint2 into trunk
Initial logic operations implementation.
Add fmpz_popcnt to fmpz.h
Standardize on spaces, not tabs.
Add popcnt to the documentation.
Init the tmp, add copyright, and test popcnt.
Address concerns with the logic functions commit.
Check for lib64 when configured with custom directories.
Make config adjust headers based on --reentrant.
Tom Bachmann (261):
Fix and test bug in fmpq_abs.
tweak create_doc.c
fixes to documentation
fix bug in is_squarefree
Switch over create_doc to a parser generated by leg.
Start design document.
more design work
Improve build system for cxx module.
Another build system tweak.
Start another cxx prototype.
traits for signed/unsigned int initialization
first addition
two-sided op, unoptimized
test generated code
move mp to separate header
move trais to separate header
move tuple to separate header
implement and test tuple merging
start testing codegen for tuple
Make empty_tuple its own type.
remove check-XXX targets
add friend specifiers
Move expression into separate header ...
implement priorites
implement and test equality comparison
add two TODOs
immediate addition for myint
clean up operator definitions a bit
implement generic two-sided binary op
slightly less messy binary op definition
fix copy initialization
test mixed binary operations
rename and_c to and_v
fix merging of empty tuples
implement temporary-efficient binary ops
break some very long lines
implement string conversion for mpz
implement ordering of mpz
add conversion rule, test it with myint
add conversion to mpz
Test initialization and assignment of mpz.
implement and test binary arithmetic operations
implement and test unary expressions
implement basic arithmetic for mpz
add convenience macros
implement standard functions
implement some more functions for mpz
document helper macros
Remove lazy return type from evaluation rules.
implement and test lazy fac and bin for mpz
fix and test initialization by lazy expression
implement and test +=, *=, etc
test the number of temporaries needed for evaluation of mpz expressions
fix bug in tuple merging
fix a bug in tuple merging
Fix bug in back_tuple.
optimize temporary usage of (lazy) op (lazy)
remove now unnecessary const_cast
WIP: use ternary operators
implement submul, a*b + c
add missing tests
optimize += and -= using ternary operations
start refactoring
move ternary_helper to evaluation_tools.h
slightly rearrange prototype.h
support more compiler versions
extend comment to ternary_helper
Change requirements on underlying data types.
test and fix two shortcomings in evaluate_2
rename mpz to fmpzxx
Add primitive forwarding.
Another attempt at view types.
Working references, finally.
start padicxx class
start fmpqxx
Fix a bug in fits_into_slong.
Implement shift ops; fix bugs.
Fix a bug with cross evaluation.
more padic code
Improve is_expression trait.
Start a generic vector class
get rid of erroneous vector temporaries
Start unification of concrete classes
move ternary expression definition to flint_classes
transfer padicxx over to the new system
fix bug in greedy fmpzxx functions
extend fmpzxx
revise file/directory structure
add all functions to fmpzxx.h
document fmpzxx
Add flintxx example.
more documentation
add compiler error diagnostics test
add another compiler error test
and a few more tests
Extend fmpqxx.
Finish fmpqxx except for summation
complete padicxx (except for documentation and TODOs)
document padicxx
complete fmpzxx except for CRT and bit packing
implement swap for padicxx/fmpqxx
implement make install for flintxx
start fmpz_polyxx
start fmpz_polyxx (up to and including 13.19)
more fmpz_polyxx
Add Enable parameter to binary_expression, and similar.
"finish" fmpz_polyxx (to some extent...)
some fixes for padic references
start fmpq_polyxx (up to and including 17.20)
Finish fmpq_polyxx.
wrap fmpz_poly_q
improved tuple filling
Start fmpz_matxx.
fix bug after last commit
ltuples, first version
ltuples, v2
getters for ltuple
WIP: lazy functions with >2 args
add codegen test for mat
add codegen test for poly/ltuple
add a ternary function test
update fmpzxx to the new tools
update fmpz_polyxx to new tools
update fmpq_polyxx to new tools
extend/fix codegen test
Implement ltuple argument ignoring
add lazy num and den to fmpqxx
add lazy den to fmpq_polyxx
add lazy num/den to fmpz_poly_qxx
add lazy get_coeff/lead to fmpz_polyxx
add member functions to fmpzxx
add member functions to fmpq_polyxx
add member functions to fmpqxx
add member functions to fmpz_poly_qxx
add member functions to fmpz_polyxx
add member functions to padicxx
Fixes to documentation of nmod_poly.
incorporate Bill's notes on documentation
Add forwarded member functions to documentation
Switch over create_doc to a parser generated by leg.
fix typo
improve leg grammar to allow operator()
improve leg grammar to allow operator()
start documenting ltuples
rename "lazy tuple" to "ltuple" in docs
document ltuple return types
document unified coefficient access
Fix a bug in ternary ops with lhs reference types.
fix temporary alloc bug in ltuple
"finish" (for now) and document fmpz_matxx
add (start) nmodxx class
document nmodxx
start nmod_polyxx
extend nmod_polyxx
Implement reference types for nmodxx.
Extend nmod_polyxx.
Further extend nmod_polyxx.
Allow subsections in documentation.
document nmod_polyxx
add codegen tests for nmod_polyxx
simplify definition of matrix classes
start nmod_matxx
finish nmod_matxx (for now)
document nmod_poly_mat
add codegen test for nmod_matxx
add missing file
add nmod_poly_matxx class
document nmod_poly_matxx
Add "macro FOBAR" to leg grammar.
start fmpz_mod_polyxx
Fix create_doc when file contains tabs.
Add missing inline versions of ...
write fmpz_mod_poly class
document fmpz_mod_polyxx
fix const correctness problems in arith
fix const correctness problems in arith
Implement and document the arithxx module
implement, test and document fmpz_poly_matxx
remove most "type prefixes" (mat_solve, etc)
add padic_poly, padic_mat, qadic to documentation
rename poly_2norm to twonorm
add perm to manual
implement and document fmpq_matxx
add fmpz_mod_poly_factor to the manual
implement and document fmpz_factorxx
implement and document fmpz_poly_factorxx
implement and document nmod_poly_factorxx
implement and document fmpz_mod_poly_factorxx
fix make install for flintxx
fix unsafe coefficient access
unify modular reduction interfaces already implemented
implement support for fourary and fiveary expression templates
implement CRT for fmpzxx
implement multi_mod, multi_CRT for fmpzxx
fix const correctness problem with fmpz_mat_multi_*_precomp
implement CRT for fmpz_matxx
implement CRT for fmpz_polyxx
make 4-argument fmpqxx::reconstruct lazy
Brush up fmpq_matxx reduction/reconstruction
add static randtest functions to fmpz_matxx
implement integer matrix conversion for fmpq_matxx
implement construction from string in nmod_polyxx
add num_colwise
implement construction from string for fmpz_poly_qxx, fmpq_polyxx
implement set_zero() etc for some classes
add missing zero(), one() and randtest() interfaces
add row reduction / lu decomposition interfaces to all matrices
implement radix conversion
implement hensel lifting for fmpz_polyxx
Fix const correctness problem in fmpz_poly_mat.
implement prod for fmpz_poly_matxx
add solve_fflu_precomp for fmpz_poly_matxx
add solve_fflu_precomp for nmod_poly_matxx
implement various four-argument nmod_polyxx functions
add bit_pack, bit_unpack to fmpzxx
start implementation of revamped padic classes
add missing extern "C" directives
add functionality to padic_polyxx and test it
implement and test padic_matxx
document padic_polyxx and padic_matxx
fixup fmpzxx remove and padic_matxx one
add missing extern "C"
implement, document and test qadicxx
add support for c-style io to core library
add print, print_pretty etc
document new printing functions
add comments and fix some compilation errors
add hack for g++-4.4
start better documentation of internals
fix unified coefficient access bugs
explain modulus lookup
more internals documentation
Merge branch 'trunk' into gsoc
fix profiler doc latex
add missing fmpzxx functions
fix fmpzxx(str) init bug
add example programs, fix a few bugs
Fix a bug where including padic_polyxx.h and qadicxx.h would not compile
document padic internals
say a word about vectors
update fmpzxx documentation
update fmpz_polyxx documentation
update fmpqxx documentation
split documentation of fmpz_matxx and fmpz_poly_qxx
split documentation of fmpq_polyxx
brush up docs a bit more
document standard methods
start documenting convenience macros
further internals documentation
fixes for 32 bit build
fixup documentation
fix an ltuple TODO
fixes suggseted by bill
Merge branch 'trunk' of https://github.com/wbhart/flint2 into gsoc
slightly update original design doc
revamp tests slightly
fixup documentation
fix an ltuple TODO
fixes suggseted by bill
slightly update original design doc
revamp tests slightly
William Hart (1265):
Initial FLINT-Lite infrastructure and longlong.h for x86_64 only.
Actually added longlong.h.
Added tests for add_ssaaaa and sub_ddmmss.
Added test code for count_leading_zeros and count_trailing_zeros.
Added test code for umul_ppmm and smul_ppmm.
Added test code for udiv_qrnnd, t-udiv_qrnnd_preinv and t-sdiv_qrnnd.
Added code for basic profiler.
Added documentation for longlong.h.
Added documentation for profiler.
Added profiles for udiv_qrnnd and udiv_qrnnd_preinv.
Added timings for longlong functions.
Added random functions and documentation.
Added documentation and test code for addmod and submof which are defined
Added missing ulong_extras.h
Added code, tests and docs for mod_precomp, mod2_precomp and mod2_preinv.
Added code docs and test for divrem2_precomp.
Added docs, test and code for mulmod_precomp, mulmod2_preinv, ll_mod_preinv.
Added docs, test and code for gcd.
Added code, tests and docs for xgcd.
Added code, tests and docs for gcdinv and invmod.
Added code, tests and docs for sqrt and sqrtrem.c.
Added code, tests and docs for is_square.
Added code, tests and docs for jacobi.
Added code, tests and docs for pow.
Added code for powmod_precomp and powmod2_preinv and test code and docs for
Added code, tests and docs for is_perfect_power235.
Added code, tests and docs for compute_primes.
Added tests, docs and code for remove and remove2_precomp.
Added code, tests and docs for is_oddprime_small.
Added code, tests and docs for is_oddprime_binary.
Inserted docs and code for factor_insert and docs, test and code for
Added code, tests and docs for factor_power235.
Added code, tests and docs for is_probabprime_fermat.
Added code, tests and docs for is_probabprime_fibonacci.
Added code, tests and docs for is_probabprime_lucas.
Added code, tests and docs for is_probabprime_BPSW.
Added code, tests and docs for is_probabprime.
Added code, tests and docs for is_prime_pseudosquare.
Added docs and code for factor_partial1 and docs, test and code for factor_trial_gcd.
Added code, tests and docs for is_prime_pocklington.
Added code, tests and docs for factor_one_line.
Added code, tests and docs for factor_SQUFOF.
Added code, tests and docs for is_prime.
Added code, tests and docs for factor.
Added profiles for mod_precomp, mod2_precomp and mod2_preinv.
Added profiles for mulmod_precomp and mulmod2_preinv.
Added timings file for ulong_extras functions.
Added code test and documentation for is_strong_probabprime_precomp and
Added todo.txt.
Removed some unnecessary blank lines.
Added a new fmpz directory ready to take files.
Added the basis of an fmpz module, including basic type and promotion/demotion.
Added a randtest function and used it in t-fmpz.c.
Made fmpz_randtest change the number of bits randomly up to the limit.
Moved fmpz_reentrant.c into a link directory so it won't get compiled always.
Added documentation for randtest and the reentrant version of fmpz.
Added partial trial factoring routine to be used by Pocklington primality test.
Added partial factoring routine which factors up to a limit,
Switched to using n_factor_partial in n_isprime_pocklington.
Removed n_factor_partial1 function, which was a hack.
Removed n_factor_trial_gcd which was a hack.
Updated todo.txt.
Changed the prototype of _fmpz_new_mpz() to make it slightly faster and added
Corrected the docs for the new _fmpz_new_mpz() prototype.
Documented the new fmpz_single.c file.
Added _fmpz_cleanup() function to fmpz_reentrant and documented it for both
Updated todo.txt.
Renamed some fmpz files.
Added fmpz_init/init2/clear functions and associated docs and test code.
Fixed some whitespace issues.
Added get/set_ui/si functions, test code and docs to fmpz module and updated
Added get/set_mpz and test code and docs to fmpz module.
Added set, docs and test code to fmpz module.
Fixed a leak in the get_mpz test.
Added fmpz_equal, docs and test code, and inline fmpz_print function.
Added fmpz_swap, test code and docs.
Added docs for fmpz_zero and fmpz_print.
Make it all compile.
Make it output a shared library.
Fixed a library conflict.
Added fmpz_cmpabs, docs and test code.
Corrected a mistake in cmpabs documentation.
Added fmpz_cmp, docs and test code.
Added fmpz_size, docs and test code.
Added fmpz_sgn, docs and test code.
Added fmpz_bits, docs and test code.
Added code and documentation for fmpz_read, and updated todo.txt.
Added fmpz_neg, docs and test code.
Added fmpz_abs, docs and test code.
Added fmpz_add, docs and test code.
Added fmpz_sub, docs and test code.
Added fmpz_mul_ui, docs and test code.
Corrected the fmpz_mul_ui doc.
Added fmpz_mul_si, docs and test code.
Added fmpz_mul, docs and test code.
Added fmpz_mul_2exp, docs and test code.
Added a missing #include to read.c.
Added some more diagnostic printing to t-mul_2exp.c.
Added fmpz_fdiv_q_2exp, docs and test code.
Added fmpz_add_ui, docs and test code.
Added fmpz_sub_ui, docs and test code.
Added some more diagnostic info to t-mul_ui.c.
Added some more diagnostic info to t-mul_si.c.
Added fmpz_addmul_ui, docs and test code.
Small spacing correction.
Added fmpz_submul_ui, docs and test code.
Corrected test code for fmpz_addmul_ui.
Corrected test code for fmpz_submul_ui.
Added fmpz_addmul, docs and test code.
Added fmpz_submul, docs and test code.
Added fmpz_pow_ui, docs and test code.
Added an extra clarification to docs for fmpz_pow_ui.
Added fmpz_mod_ui, docs and test code.
Added fmpz_is_zero and fmpz_randtest_not_zero, and docs.
Added fmpz_mod, docs and test code.
Added missing const in prototype of fmpz_is_zero.
Added fmpz_gcd, docs and test code.
Updated todo.txt.
Fixed some cut and paste errors (y sustituted for x in license).
Changed a long to ulong.
Added fmpz_invmod, docs and test code.
Added fmpz_divexact, docs and test code.
Added fmpz_cdiv_q, docs and test code.
Slight speedup to fmpz_pow_ui when base is 0 or 1.
Added fmpz_fdiv_q.c.
New function and weak test fmpz_get_d_2exp
Some minor cleaning up of get_d_2exp.c.
Minor addition to doc for fmpz_get_d_2exp.
Made a stronger test for get_d_2exp.
Added profiling for BPSW code.
Fixed the printing of exp in powmod tests.
Change the order of linking in the Makefile due to me stupidly using the
Update to todo.txt.
Added new fmpz_poly module and makefile.
Added basic memory management functions.
Added documentation for basic memory management functions and made a small
Made make check deal with single modules, added fmpz_poly_randinit/test/clear
Added documentation of fmpz_poly_randinit/clear.
Added fmpz_poly_get/set_coeff_si and test code and docs.
Added fmpz_poly_get/set_coeff_ui, test code and docs.
Added fmpz_poly_get/set_coeff_fmpz, test code and docs.
Added a basic fmpz_poly_print function and documentation.
Added fmpz_poly_set, fmpz_poly_equal, test code and docs.
Fixed a memory leak in the test code.
Added fmpz_poly_swap, test code and documentation.
Added fmpz_poly_neg, documentation and test code.
Added fmpz_poly_add/sub, documentation and test code.
Added fmpz_poly_scalar_mul_ui, test code and docs.
Added fmpz_scalar_mul_si, test code and docs.
Added fmpz_poly_scalar_mul_fmpz, docs and test code.
Added fmpz_poly_shift_left/right, test code and docs.
Added fmpz_mul_classical.
Added test code for mul_classical.
Fixed a missing const in sub.c.
Fixed a missing const.
Fixed a bug in random polynomial code.
Changed the interface to the fmpz_poly_add/sub functions.
Changed the interface of fmpz_poly_mul_classical.
Finished test code for fmpz_poly_mul_classical.
Added _fmpz_scalar_mul_fmpz.
Made some improvements to scalar_mul_fmpz and used it in mul_classical.
Added fmpz_poly_scalar_addmul_fmpz and used it in mul_classical.
Minor cleanup of scalar_addmul_fmpz.
Updated todo.txt.
Added an fmpz_vec module.
Added _fmpz_vec_zero and used it.
Added fmpz_vec_copy/neg and used them.
Added fmpz_vec_scalar_mul_si and used it.
Moved _fmpz_poly_scalar_mul_fmpz to _fmpz_vec_scalar_mul_fmpz and used it.
Added fmpz_vec_add/sub/scalar_addmul_si/fmpz and used them.
Updated todo.txt.
Added classical low and high products.
Added classical middle product.
Added _fmpz_vec_clear and fmpz_poly_mul_karatsuba.
Cleaned up the documentation in mul_karatsuba and removed an
Sped up karatsuba.
Fixed numerous memory leaks and bugs and implemented mullow_karatsuba_n.
Added mulhigh_karatsuba_n.
Added an fmpz_mat directory and blank document file.
Added makefile for fmpz_mat.
Added LLL directory, makefile and empty doc.
Added scalar_addmul_si_2exp and test code.
Switched over to a better init/clear system for vectors.
Added a missing file.
Added test code and some missing defines for init/clear.
Added _fmpz_vec_print, _fmpz_vec_equal and _fmpz_vec_randtest/init/clear
Added test code for _fmpz_vec_add/sub.
Added test code for _fmpz_vec_copy/equal.
Added test for _fmpz_vec_neg.
Added test code for scalar_mul_si.
Added fmpz_vec.txt, fixed a bug in fmpz_mul_2exp and wrote _fmpz_vec_mul_2exp
Made test for scalar_addmul_ui_2exp more useful.
Added test for scalar_addmul_si,
Added test code for scalar_addmul_fmpz.c.
Added fmpz_mat.h and clear and init functions with test code.
Corrected the docs.
Added fmpz_mat_print.
Added fmpz_mat_randtest.
Added fmpz_randbits and fmpz_mat_randbits and docs.
Added fmpz_mat_randintrel.
Added fmpz_mat_randsimdioph.
Added fmpz_mat_randntrulike.
Added a second ntrulike random matrix generator.
Added fmpz_randm.
Added randclear and randinit functions for fmpz_mat.
Added random ajtai matrices.
Added Stehle and Cade's copyright to the files and a note to todo.txt.
Added mpfr_mat module, init/clear and test code.
Added mpfr_vec module, init/clear and test.
Added a GSO function for LLL. Needs simplifying and test code.
Added an mpfr_vec module, scalar product function and GSO_mpfr function for
Made some changes to library paths for personal use.
Conditionally defined mpn_zero.
Made a more careful factoring profile.
Added a basic mpfr_poly module with init/clear/realloc/fitlength and randinit/
Added a Fast Hartley Transform and some relatively crappy test code.
Added FHT convolution code and moved revbin into ulong_extras module. Added
Added classical multiplication routine and proper polynomial multiplication
Sped up the Fast Hartley Transform code by precomputing twiddles.
Fixed a bug in scalar_mul_mpfr, added scalar_mul_2exp and added code to
Added a version of multiplication with "newton scaling" and cleaned up
Cleaned up test code for mul_classical vs mul_FHT.
Wrote some test code for mpfr_poly_mul and fixed test code for other mul
Added bit packing and unpacking code for fmpz coefficients and test code.
Added polynomial bitpacking and unpacking code, fixed some bugs in the
Added mul_KS and test code.
Added fmpz_randtest_unsigned, fmpz_poly_randtest_unsigned, fmpz_poly_max_bits,
Basic memory management routines and some test code for an fmpz_mpoly
Added heap mul code and test function.
Added heap multiplication routine and fixed bugs in fmpz_single.c.
Fixed a bug in mul_heap.
Added a special case or two.
Fixed a bug in mul_heap.
A slight speedup of mul_heap.
Added new version of ll_mod_preinv and a new function lll_mod_preinv,
Added a basic nmod_poly module, including an init/realloc/clear test
Missed a bit from init.c.
Changed todo.txt.
Additional item in todo.txt.
Added an nmod_vec module, some reduce macros (moved from nmod_poly) and a
Added nmod_vec_add/sub/neg functions and a randtest function and test code.
Added _nmod_vec_scalar_mul, test and profile code.
ulong -> long, mp_limb_t * -> mp_srcptr/mp_ptr as suggested by Jason Moxham.
Added docs for nmod_vec functions.
Added a new roadmap.txt setting out functions that are missing and
Added some missing fmpz_poly functions to roadmap.txt.
Added an fmpz_poly_mul and test code and made some additions to the roadmap.
Added mullow_n and mulhigh_n functions and test code.
Merged all the ulong_extras docs into a single file.
Minor spacing edit.
Merged all the fmpz docs into a single file.
Minor spelling error in todo.txt.
Added basic neg, add and sub functions and test code.
Added scalar_mul and test code.
Added _nmod_vec_scalar_addmul, nmod_poly_mul_classical and test code.
Added a roadmap.txt file.
Added bit packing and unpacking and test code and changed some of the
Added _nmod_vec_max_bits, nmod_poly_max_bits and nmod_poly_mul_KS and test
Added mullow_classical and test code.
Added mulhigh_classical and test code.
Added mul, mullow_n and mulhigh_n and test code.
Updated roadmap.txt.
Added basecase division, divide and conquer division and test code.
Fixed a bug in ll_mod_preinv and add nmod_poly_divrem_basecase and test code.
Added a basic module for fmpq_polys, i.e. polynomials over QQ. No functions
Fixed an uninitialised data bug in fmpz_gcd.
Added fmpz_fdiv_qr and fmpz_poly_pseudo_divrem_basecase.
Added the beginnings of an nmod_mpoly module.
Merge commit 'sebastian/seb' into roadmap
Fixed a bug in fmpz_poly_mullow_KS found by Fredrick.
Merged Fredrik's prime_pi function and primorial computation function + patches.
Avoided some data copying in fmpz_primorial, used a less pessimistic bound on
Modified the comments for the limb multiplication function and added my
Merge commit 'sebastian/seb' into roadmap
Fixed a few C99'isms.
A few superfluous variables removed.
Merge commit 'fredrik/arith' into roadmap
Merge commit 'fredrik/matrix' into roadmap
Merge commit 'daniel/nmod_mpoly' into nmod_mpoly
Added some experimental tags to dirs.
Merge commit 'fredrik/matrix' into roadmap
Added profile for nmod_mat_mul.
Modified p-mul profile.
Added a todo regarding probable primality tests up to 2^64.
Merge commit 'fredrik/matrix' into roadmap
Merge commit 'fredrik/matrix' into roadmap
Updated Makefile for new MPIR and MPFR. You can ignore this commit.
Fixed bugs in fmpz_fdiv_qr/sqrtrem where a pointer was being reatained whilst
Merge commit 'fredrik/matrix' into roadmap
Merge commit 'sebastian/seb' into roadmap
Removed a pile of experimental stuff and corrected some fmpz_poly_(f)print_pretty
Adde nmod_poly_get/set_coeff_ui and test code, and put an int on on of the
Added nmod_poly_to/from_string and test code and docs.
Changed some %lu's to %ld, got rid of trailing spaces on zero polynomial
Added nmod_poly_fread/fprint, docs and test. Fixed order of operands in other
Added length, degree, modulus accessor functions to nmod_poly, plus docs.
Added nmod_poly_is_zero and docs.
Added nmod_poly_reverse + docs + tests.
Corrected a couple of comments in test code.
Added test code for nmod_poly_neg.
Added nmod_poly_make_monic, test code and docs.
Added nmod_poly_shift_left/right and test code and docs.
Added nmod_poly_derivative and test code and docs.
Added nmod_poly_evaluate, tests and docs. Added an aliasing test for derivative.
Added nmod_poly_compose based on Horner's method.
Added underscore method for nmod_poly_reverse, and removed a couple of
Made underscore method for nmod_poly_make_monic.
Added underscore method for nmod_poly_derivative.
Added underscore method for nmod_poly_shift_left.
Added underscore method for nmod_poly_shift_right and made some minor typo
Added lots of consts that were missing and corrected a prototype in the docs.
Added underscore method for nmod_poly_evaluate.
Removed and unused variable and gave a helper function a double underscore.
Renamed compose to compose_horner.
Added an underscore method for nmod_poly_compose_horner and added an MP_PTR_SWAP
Added an underscore method for nmod_poly_mul and used it in compose_horner.
Added nmod_poly_mullow_KS and tests and docs.
Added underscore method for nmod_poly_mullow_n.
Added nmod_pow_binexp, nmod_pow by copying from fmpz_poly module. Added tests
Added nmod_poly_pow_trunc, nmod_poly_pow_trunc_binexp, test code and docs.
Merge commit 'sebastian/seb' into roadmap
Added compose_divconquer, test code and docs.
Merge commit 'sebastian/seb' into roadmap
Fixed a bug in fmpz_poly_compose_divconquer.
Added nmod_poly_compose, test code and docs.
Added nmod_poly_divrem_divconquer_recursive and nmod_poly_divrem_divconquer
Added nmod_poly_div_basecase, tests and docs and cleaned up divrem_basecase
Merge commit 'sebastian/seb' into roadmap
Fixed Makefile, better cutoff for divrem_divconquer and cleanup of test code.
Added nmod_poly_div_divconquer, tests and docs.
Added nmod_poly_divrem and nmod_poly_div.
Merge commit 'sebastian/seb' into roadmap
Added nmod_poly_invert_newton_basecase, tests and docs.
Added nmod_poly_invert_newton and tests and docs.
Changed invert_newton tuning.
Made nmod_poly_invert_newton_basecase into nmod_poly_invert_series and renamed
Renamed invert_newtom to invert_series_newton throughout and removed an
invert_series => inv_series throughout.
Added nmod_poly_div_series, tests and docs.
Added div_newton, tests and docs.
Set the div_newton corssover really high.
Added nmod_poly_divrem_newton, tests and docs and used it in nmod_poly_divrem.
Fixed some tuning bugs in mul functions and changed crossover for div and divrem.
Added gcd_euclidean, tests and docs.
Added comment about space requirements for gcd_euclidean.
Merge commit 'sebastian/seb' into roadmap
Merge commit 'sebastian/seb' into roadmap
Merge commit 'fredrik/master' into roadmap
Added proper randstate to ulong extras functions and tests.
Added flint_radnstate_t's to fmpz module.
Switched to flint_rand_t in fmpz_poly module.
Switched to flint_rand_t in fmpq_poly.
Added flint_rand_t to fmpz_vec module and top level module.
Added flint_rand_t to nmod_poly.
Added flint_rand_t to nmod_mat.
Added flint_rand_t to nmod_mpoly.
Added flint_rand_t to mpfr modules.
Merge commit 'sebastian/seb' into roadmap
Inserted some missing states.
Reversed order of parameters to n_randint.
Reverse order of parameters for n_randbits.
Reordered parameters in nmod_vec.
Rearranged parameters for nmod_poly.
Rearranged params for nmod_mpoly.
Reordered parameters in nmod_mat functions.
Updated conding_conventions.txt.
Added states to fmpz_mat.
Removed duplicate prototype.
Merge commit 'fredrik/master' into roadmap
Changed order of params in internal _fmpq_poly_set_array_mpq.
Renamed nmod_poly_scalar_mul to nmod_scalar_mul_ui.
fmpq_poly_monic -> fmpq_poly_make_monic.
Changed order of params on nmod_poly_bit_unpack.
nmod_poly_mullow_n -> nmod_poly_mullow,
nmod_poly_mulhigh_n -> nmod_poly_mulhigh.
Rearranged params for nmod_poly_pow/trunc/binexp.
inv_newton -> inv_series_newton throughout.
nmod_poly_evaluate -> nmod_poly_evaluate_ui.
evaluate -> evaluate_ui/fmpz, same for evaluate_horner.
nmod_poly_scalar_mul_ui->scalar_mul_nmod, same for vec_scalar_mul.
nmod_vec_scalar_addmul -> nmod_vec_scalar_addmul_nmod.
nmod_poly_evaluate_ui -> nmod_poly_evaluate_nmod.
Switched parameter order in _nmod_poly_evaluate_nmod>
Rearrange params in _nmod_vec_scalar_mul_nmod and _nmod_vec_scalar_addmul_nmod.
Update docs for rearrangement of params.
Underscores on nmod_vec_init/free.
Rudimentary configure/makefile system.
Merge commit 'sebastian/seb' into roadmap
Merge commit 'fredrik/master' into roadmap
Switched to sh instead of bash and made a simplification.
Use top source directory instead of prefix for make check library.
Made configure respect CC, CFLAGS and used FLINT_TUNE and made the dependencies
Added make install.
Added make distclean and removed a few more things with make clean.
Made profile code compile and fixed a few remaining errors in compilation.
Remerged Fredrik't todo.txt.
Removed some experimental modules.
Removed an unneeded file.
Added fallback routines for longlong.h.
Added missing file.
Fixed a 32 bit bug in remove2_precomp.
Fixed a few more 32 bit bugs.
Hopefully fixed a bug in factor_SQUFOF.
Added some notes about code pulled from GMP.
Damn, missed something.
Updated docs.
Added lots of copyrights, author information and AUTHORS file.
Added NEWS file and a couple of documentation corrections.
Added README.
Added INSTALL file.
Corrected some spelling.
Corrected some spelling.
Added copyrights.
Added copyrights.
Mispeeling.
Mispeeling.
Mispeeling.
Mispeeling.
Merge commit 'sebastian/seb' into flint-2.0
Merge branch 'flint-2.0'
Added gitattributes.
Corrected some Copyrights.
Replaced missing file.
Replaced missing file.
Merge commit 'sebastian/seb'
Corrected spelling of Fredrik's name.
Merge commit 'fredrik/master'
Corrections to docs.
Added support for building a static library.
Made changed so that build directories are separate.
Make check cleans up better now.
Made the examples compile.
Updated version to 2.1.0 and updated NEWS file.
Made parser complaints go away.
Merge commit 'fredrik/master'
Removed memory leak from t-crt.c.
Fixed screwed up makefile.
Added dummy symbol to prevent warning.
Made dependency checking better.
Corrected a bug in Makefile.in.
Fixed make examples.
Added make dist.
Workaround for bug in fmpz_poly_fprint_pretty and an implementation of
Added initial version of heuristic gcd and test code and docs.
Fixed a bug in fmpz_poly_gcd_heuristic when one of the polys is linear.
Added a new test case.
Fixed broken test code.
Fixed the bug in gcd_heuristic at last.
Added fmpz_poly_divides function, test code and docs.
Added mpn_gcd_full function, docs and test code.
Moved mpn_divides out to mpn_extras and added test code and docs and cleaned
Removed an unneeded trace.
Added gcd_modular, test code and docs.
Merge commit 'sebastian/seb'
Merge commit 'sebastian/seb'
Switch on fmpz_poly_gcd_modular in fmpz_poly_gcd.
Added a convention regarding module conversions.
Added documentation for functions that were missing it, changed the name of
Added test code for _fmpz_vec_get/set_nmod_vec.
Added test and updated docs for fmpz_poly_2norm_normalised_bits.
Added fmpz_poly_xgcd_modular function (no tests or docs yet).
Added nmod_poly_xgcd_euclidean, test code and docs. Also added a couple of
Switched to using MPN_NORM in nmod_poly_gcd_euclidean.
Added fmpz_poly_xgcd_modular, test code and documentation. Also make
Added _nmod_poly_xgcd/gcd and nmod_poly_xgcd/gcd wrappers and used those
Removed an unused variable.
Fixed a make install bug.
Fixed a build bug to do with standard paths.
Added some guards for system headers.
Merge commit '0b0c219' into trunk
Removed an unused variable and fixed an uninitialised variable.
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Updated NEWS file.
Merge commit 'fredrik/trunk' into trunk
Changed release number to 2.2 in make dist.
Merge commit 'fredrik/trunk' into trunk
Added MACRO to docs for mpn_extras macros.
Added info to NEWS about new mpn_extras functions and macros.
Merge commit 'fredrik/trunk' into trunk
Fixed a handful of typos in the fmpq documentation.
Minor wording change in fmpq_mat documentation.
Turned off string space bucket chars in docs and very minor edit to fmpz_poly_q
Added back Fredrik's better fmpq intro.
Fixed some typos in the fmpz_poly_mat docs.
Minor changes to fmpz_mat docs.
Some minor typos fixed in padic docs.
Merge commit 'fredrik/trunk' into trunk
Made some changes to fmpz_poly_docs.
Fixed some spacing issues in the mpn_extras docs.
Added intro and example for ulong_extras module.
Added intro, simple example and struct definition for nmod_poly docs.
Added some information about n_mod_precomp vs n_mod2_precomp, etc.
Added some extra info and corrections to the frontmatter.
Added additional credit.
Added credit to AUTHORS file.
Additional change to make dist.
Added credits for Jan Tuitman.
Implemented the improved Lehman algorithm as per the suggestion of the referee
Corrects a typo in the manual.
Merge commit 'sebastian/trunk' into trunk
Fixed an interface error in fmpz.h, reported by bsmith.
Changed the profiler to start at 4 iterations.
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Fixed a bad prototype.
Added a tiny quadratic sieve. Still requires some work to fix the following:
Fixed a few bugs after merge and disabled qsieve while we fix on 32 bit
Added missing Makefile.
Merge commit 'sebastian/trunk' into sebmerge
Added temporary NEWS update for version 2.3.
Updated make dist for 2.3.
Updated title.tex for 2.3 release.
Added version.c and version string to flint.h.
Fixed the static build, thanks to Dan Grayson for supplying a patch.
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Changed an incorrect include and file mode. Contributed by Frithjof Schulze.
Fixed a tpyo in an exception message. Contributed by Frithjof Schulze.
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Added NTL-interface guff to configure and Makefile.in.
Merge commit 'fredrik/trunk' into trunk
Made NTL interface compile and fixed a minor interface bug in nmod_poly.h in
Fixed some bugs which I mysteriously missed in the NTL-interface.
Added docuemntation for NTL-interface.
Made NTL interface work, fixed lots of build system errors.
Merge commit 'sebastian/trunk' into trunk
Added fft module and split/combine_bits functions, test code and docs.
Added normmod_2expp1, butterfly_lshB/rshB, docs and test code.
Added mul/div_2expmod_2expp1, docs and test code.
Added radix2 fft/ifft and truncated versions.
Added truncated sqrt2 transforms and test code.
Added multiplication code using truncated sqrt2 transforms, plus test and
Added an fmpz_poly_factor module and moved some stuff over.
Added fmpz_poly_factor to modules list.
Merge commit 'andy/hensel_branch' into trunk
Fixed up compilation after moving the fmpz_poly_factor stuff.
Moved adjust_sqrt2 out to its own file. Added lots of documentation of
Added documentation of mul_truncate_sqrt2.
Fixed numerous bugs and added the big transforms, docs and test code.
Added big multiplication routine and test code.
Added negacyclic transforms, docs and test code. Updated docs a bit.
Made a failing test pass.
Added negacyclic fft multiplication and test code and docs.
Removed reference to unneeded mpir functions.
Added README.
Merge commit 'fredrik/trunk' into trunk
Added additional info to README.
Correction to README.
Added merged inner covolutions.
Updated timings.
Added more timings.
Added test code for remaining functions.
Switched a want/got in t-adjust.
Added tuning table, multiplication wrapper and test code.
Corrected a copyright date.
Updated README.
Fixed incorrect table access.
Further correction to copyright dates.
Added tuning code for fft and make tune options to makefiles.
Dealt with squaring properly.
Removed addsub_n.
Fixed some fft bugs and added fmpz_poly_mul_SS and associated functions, tests
Removed an unnecessary normalisation.
Fixed limbs for very large coeffs.
Removed unnecessary aliasing code.
Moved some code that should be run conditionally.
Changed the way the number of limbs is selected for Nussbaumer.
Fixed up tuning code.
Got rid of references to sumdiff_n, switched to using FLINT_CLOG2.
Fixced profiling code and switched mul_SS on in mul.c.
Added mullow_SS, fixed crossovers for mul_SS based on theory.
Removed code duplication for mul_SS.
Fixed a bug in mullow.c and major performance issue in convolution.c.
Retuned mul functions.
Merge commit 'sebastian/trunk' into trunk
Call SS from sqr functions.
Allowed delta_qexp to work with long instead of just int.
Fixed tuning again.
Removed an unneeded example.
Merge commit 'fredrik/trunk' into trunk
Cleaned up mul_SS a little.
Fixed some bugs in the mul functions.
Merge commit 'frithjof/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Merge commit 'sebastian/trunk' into trunk
Merge commit 'sebastian/trunk' into trunk
Fixed a bug in gcd_heuristic.
Fixed a comment in nmod_poly.h.
Added n_mod2_preinv todo.
Added --reeentrant and --single flags to configure.
Fixed an awful bug in fmpz_sqrtmod.
Documented the --single, --reentrant configure options.
Merge commit 'frithjof/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Renamed a profile file and added multiplication profile for nmod_poly.
First commit of n_sqrtmod_primepow. No docs yet and code doesn't check if a
Made sqrtmod_primepow reject nonsquares.
Added documentation for n_sqrtmod_2/primepow.
Added function for computing square roots modulo an arbitrary (factored)
Added some inline versions of some static inline functions for languages that
Merge commit 'curtis/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Fixed some nasty bugs in n_is_prime_pocklington.
Fixed a demotion bug in fmpz/setbit.c.
Merge commit 'sebastian/trunk' into trunk
Merge commit 'fredrik/trunk' into trunk
Fixed configure bug with latest version of MPFR.
Removed some scary messages from configure test "failures".
Reverted to two messages for popcount tests.
Only run popcount native test on x86_64.
Another mpfr configure bug fixed.
Added missing newline.
Added ia64 assembly code.
Another missing newline.
Another missing newline.
Added ARM assembly code.
Merge commit 'fredrik/trunk' into trunk
Attempt to fix a macro error.
Another missing newline.
More newlines.
More newlines.
Another newline.
Another newline.
Another newline.
Standard library guards.
Added pthread library to link.
Fixed some bugs in n_sqrtmod reported by Fredrik Johansson.
Merge commit 'fredrik/trunk' into trunk
Corrected typo in ulong_extras docs.
Fixed a bug in the mod_precomp test code.
Fixed a typo in the documentation for fmpz_poly.
Fixed an FFT bug.
Fixed the fft test code and added lots of cases that will trigger corner cases.
Merge branch 'trunk' into padic
Merge commit 'sebastian/trunk' into trunk
Merge commit 'sebastian/padic' into padic
Merge branch 'trunk' into padic
Replace free by flint_free.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Added tree build/init/free functions to fmpz_mod_poly and profiling code for
Added gettimeofday for MinGW.
Corrected link order of libraries.
Removed unneeded -lflint.
Major overhaul of the Makefiles to speed up parallel make, etc.
Removed long long constants.
Added missing extern.
Another attempt at gettimeofday.
Removed unused variable.
Attempt to fix static lib.
Slight aesthetic change.
Another fix for static lib.
Propagate changes.
Another fix for the static lib.
Fixed mutex problem on MinGW32.
Removed some duplicate stuff from Makefile and disabled shared build on MinGW.
Attempt to cut out building of .lo if SHARED=0.
Cleanup.
Fixed NTL interface build.
Removed unnecessary build of library files when running tests.
Merge commit 'fredrik/trunk' into trunk
Fixed a failing xgcd test.
More refined dependency checking.
Merge commit 'fredrik/trunk' into trunk
Fixed a make bug.
Fixed another build bug.
Fixed third makefile bug.
Reverted a change.
Hopefully a corrected makefile.
Merge commit 'sebastian/trunk' into trunk
Merge branch 'trunk' into padic
Merge branch 'trunk' into padic
Added 32 bit tuning values.
Merge branch 'trunk' into padic
Have configure select 32 or 64 bit tuning params for fft and clean up configure.
Merge branch 'trunk' into padic
Some spacing.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
Added --build option to configure.
Merge branch 'trunk' into padic
Allow FLINT_TUNE and FLINT_LIB to be specified by user.
Merge branch 'trunk' into padic
Fixed a faulty fmpz_poly_q test.
Merge branch 'trunk' into padic
Corrected my correction.
Merge branch 'trunk' into padic
A better solution for mutexes on Win32.
Merge branch 'trunk' into padic
Removed print/read tests on MinGW32.
Merge branch 'trunk' into padic
Tried to fix the prngs.
Merge branch 'trunk' into padic
Missed a print/read test.
Merge branch 'trunk' into padic
Fixed a bug in fmpz_poly_divides test code.
Merge branch 'trunk' into padic
Speed up fmpz_poly_xgcd_modular test.
Merge branch 'trunk' into padic
Fixed bug in 32 bit prng.
Merge branch 'trunk' into padic
Fixed bug in qsieve.
Merge branch 'trunk' into padic
Removed an unneeded -fPIC from top level objects.
Merge branch 'trunk' into padic
Fixed some bugs in qsieve.
Adjusted tuning params for qsieve to work around a "bug".
Merge branch 'trunk' into padic
Fixed numerous bad bugs in the fmpz_poly_gcd_modular code.
Merge branch 'trunk' into padic
Merge branch 'trunk' into padic
Fixed an aliasing bug in the fft.
Merge branch 'trunk' into padic
Fixed an array overrun in fft_combine_limbs/bits.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
Removed an unused variable.
Merge branch 'trunk' into padic
Corrected a copyright notice and removed an unnecessary sign check.
Merge branch 'trunk' into padic
No shared library on Cygwin.
Missing newline.
Merge branch 'trunk' into padic
Missing newline.
Merge branch 'trunk' into padic
Newline.
Merge branch 'trunk' into padic
Skip a test on Cygwin.
Merge branch 'trunk' into padic
Fixed a serious reallocation bug in fmpz_sub_ui.
Merge branch 'trunk' into padic
Newline.
Merge branch 'trunk' into padic
Newline.
Merge branch 'trunk' into padic
Try to exclude a test on Cygwin.
Merge branch 'trunk' into padic
Fix a memory leak in qsieve.
Merge branch 'trunk' into padic
Newline.
Merge branch 'trunk' into padic
Removed some unneeded whitespace from Makefiles.
Merge branch 'trunk' into padic
Removed some unneeded whitespace from Makefiles.
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
Attempt to get dependencies for make examples, tune, profile correct.
Merge branch 'trunk' into padic
Correct make dependencies.
Merge branch 'trunk' into padic
Fix make dependencies.
Moved CC and CXX to where they are needed.
Merge branch 'trunk' into padic
Deal with n == 0 in mpn_sumdiff_n.
Merge branch 'trunk' into padic
Replace expr substr with awk script.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
Propagate fix for n_sqrtmod to fmpz_sqrtmod.
Merge branch 'trunk' into padic
Fixed examples/padic.
Merge branch 'trunk' into padic
Stop deletion of test files and ensure tests are all built before running.
Merge branch 'trunk' into padic
Prevent test files being deleted and ensure all built before running.
Added missing PHONY targets.
Merge branch 'trunk' into padic
Added missing PHONY.
Merge branch 'trunk' into padic
Added missing PHONY.
Have ABI change the machine it is compiling for.
Merge branch 'trunk' into padic
Fixed lengths of S, T in fmpz_mod_poly_xgcd.
Merge branch 'trunk' into padic
Deal properly with scalar polys in fmpq_poly_xgcd and clean up case where lenA
Merge branch 'trunk' into padic
Fixed an aliasing bug in nmod_poly_xgcd routines and cleaned up case where
Merge branch 'trunk' into padic
Removed unneeded case from fmpz_mod_poly_xgcd.
Merge branch 'trunk' into padic
Cleaned up case where lenA < lenB in fmpz_mod_poly_gcd.
Cleaned up case where lenA < lenB in fmpz_mod_poly_gcd_euclidean_f.
Merge branch 'trunk' into padic
Cleaned up the case where lenA < lenB in fmpz_poly_gcd.
Merge branch 'trunk' into padic
Dealt with cases in nmod_poly_gcd routines where lenA < lenB.
Merge branch 'trunk' into padic
Cleaned up cases where lenA < lenB in fmpz_poly_gcd routines, and removed
Merge branch 'trunk' into padic
Removed more unnecessary aliasing code from fmpz_poly_gcd routines.
Merge branch 'trunk' into padic
Cleaned up the lenA < lenB case in fmpq_poly_gcd.
Merge branch 'trunk' into padic
Fixed an fmpz small bug in fmpz_bit_unpack (FLINT_BITS - 1 -> FLINT_BITS - 2).
Merge branch 'trunk' into padic
Whoops, back to single mode.
Merge branch 'trunk' into padic
Merge branch 'trunk' into padic
Added Fredrik's test case to resultant test code.
Merge branch 'trunk' into padic
Added new n_randtest_bits function and used throughout test code (fixed a few
Merge branch 'trunk' into padic
Fixed a bug in n_mod_precomp and some documentation errors.
Merge branch 'trunk' into padic
Use n_randtest_bits in fmpz_randtest.
Merge branch 'trunk' into padic
Fixed a bug in n_is_prime_pseudosquare.
Merge branch 'trunk' into padic
Fixed the maximum error count in t-is_strong_probabprime2_preinv.
Merge branch 'trunk' into padic
Corrected some comments.
Merge branch 'trunk' into padic
Fixed some comments and removed an unnecessary length comparison check.
Merge branch 'trunk' into padic
Merge branch 'trunk' into padic
An alternative fix for factor_lehman.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
Make static library rebuild trigger tests rebuild when no shared lib.
Merge branch 'trunk' into padic
Slightly better static lib link fix.
Merge branch 'trunk' into padic
Fixed a problem with top level tests not rebuilding.
Merge branch 'trunk' into padic
Updated the flint-manual preamble for make tune, configure options, contribs,
Merge branch 'trunk' into padic
Updated AUTHORS file and corrected a misspelled name in the manual.
Merge branch 'trunk' into padic
Docs as they currently stand.
Not sure why this wasn't picked up.
Merge branch 'trunk' into padic
Removed {} inside code sections.
Merge branch 'trunk' into padic
Removed some definitely completed tasks from todo.txt.
Merge branch 'trunk' into padic
Merge commit 'fredrik/trunk' into trunk
Merge branch 'trunk' into padic
A few line ending fixes.
Merge branch 'trunk' into padic
Changed release date in NEWS.
Merge branch 'trunk' into padic
Added a few extra bug reports.
Merge branch 'trunk' into padic
Corrected an incorrect order of doc chapters.
Corrected an incorrect order of doc chapters.
Added HAVE_BLAS define to config.h.
Fixed a double free in fmpq_init/clear_readonly_mpz in --reentrant mode.
Fixed a double free in fmpq_init/clear_readonly_mpz in --reentrant mode.
Changed default library location to /usr/local.
Changed default library location to /usr/local.
Libs after compilation.
Libs after compilation.
Made a small improvement to the integer multiplication code using the fft.
Fixed inclusion of sumdiff_n from mpir.
Look in /usr for NTL.
Look in /usr for NTL and BLAS.
Removed scuttling of shared lib on MinGW and Cygwin.
Removed conflict with mpn_mul_fft_main and MPIR's version of the same.
Fix broken static lib.
Clean up static library fix.
Fix shared library on MinGW/Cygwin.
JP Flori's "Attempt to make build system more modular"
Attempt to clean up the Makefile using JPFlori's changes.
Added PATH statement for MINGW.
Correction to last commit.
Further correction to previous commit.
Added blas dir to PATH for MINGW.
Yet another fix to PATH in configure.
Added failing test case for bug found in mpir.h header.
Removed another clash with MPIR.
Moved mpn_extras out of mpn namespace.
Moved mpn_blah macros in flint.h out of mpn namespace.
Fixed an issue on ia64 to do with rounding of 2^64 as a double to a ulong.
Fixed a couple of compiler warnings.
Added newlines at the end of all files missing them.
Removed a compiler warning.
Use DYLD_LIBRARY_PATH on OSX.
Changed shell to bash.
Use $(MAKE) instead of make, use #!/usr/bin/env bash, SHELL := /usr/bin/env
Remove test_helpers.o with make check.
LD_LIBRARY_PATH32/64 on sparc(64).
Put ABI_FLAG in configure.
Use ABI_FLAG when linking.
Added ABI_FLAG in other places it is needed.
Update machine name to sparc64 if ABI=64 is selected.
Corrected typo: lib64 => lib.
Remove if(!feof(in)) idiom, which is incorrect.
Merge remote branch 'fredrik/trunk' into trunk
Merge remote branch 'sebastian/trunk' into trunk
Don't build both shared and static libs on Cygwin and MinGW32.
Updated prereq to MPIR 2.6.0.
Added missing type.
Additional profile for fft.
Clean up profiler.o.
Fixed mpn_sumdiff_n reference in fft.h.
Fixed an unresolved git conflict.
Make dist should use flint-x.y branch, not trunk.
Reenable nmod_poly/factor_cantor_zassenhaus for n = 2.
Updated NEWS.
Fix typo in NEWS.
Added some missing copyright notices.
Added copyright for Jan Engelhardt to configure.
Added fmpz_xgcd and docs. Test code to come...
Fix fmpz_xgcd.
Slight simplification in fmpz_xgcd.
Add test code for fmpz_xgcd.
Added missing test file.
Fixed some compiler warnings in fmpz_xgcd and double_extras_randtest.
Added fmpz Jacobi symbol, test and docs.
Added fmpz_factor_trial_range.
Fix to fmpz_factor_trial_range.
Added fmpz_is_probabprime.c and docs. Test to follow.
Added fmpz_is_prime_pseudosquare and test code and docs and lowered iterations
Added additional explanation about pseudosquare method.
Added p+1 factoring method.
Fixed a bug in factor_pp1 and added a driver function in fmpz_factor/profile.
Made p-factor_pp1 have random starting values, and fixed some dubious code.
Fixed numerous bugs and added a fmpz_mod with precomputed inverse and used
Switched to using standard Lucas chain.
Made a correction to the docs for fmpz_mod_preinv1 and made a correction to
Corected minor bug in p+1 factoring.
Removed some unneeded temporaries from p+1 factoring.
Use a proper B0 factor and use powers of primes up to B0.
Much faster fmpz_factor_pp1, fast flint_mpn_mulmod_preinv.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Removed numerous crappy functions and renamed a few files and updated docs.
Cleanup of numerous bits and pieces.
Added pp1_set_ui function.
Updated docs.
Slight correction to docs for fmpz_factor_pp1.
Further clean up of fmpz_factor_pp1. Implement n_factor_pp1 and
Added documentation for n_factor_pp1.
Added driver program for n_factor_pp1 and made small improvement to the
Added flint_mpn_mulmod_preinv1 for convenience.
Moved flint_mpn_preinv1 out to separate file.
Fixed small bug in n_factor_pp1.
Merge branch 'trunk' into gmp-ecm
Removed messy file.
Removed messy file.
Added fmpz_mod_poly_evaluate_fmpz_vec_fast.
Removed reference to fmpz_preinv1.
Removed reference to fmpz_preinv1. Added fmpz_negmod.
Added all fmpz_mod_poly_evaluate_fmpz_vec functions. Added doc for fmpz_negmod
Added docs for fmpz_negmod.
Fixed fmpz_mod_poly_tree and evaluate_fmpz_vec* and added test code.
Merge branch 'gmp-ecm' into trunk
Added stage 2 to fmpz_factor/factor_pp1.
Changed some references to B0 to B1 and corrected some docs.
Fixed typo.
Replaced some B0's with B1's and moved a line in a .h file.
Added description to fft/README.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Updated license of convolution.c to BSD.
Fix bug in precomputed inverse.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Removed some unneeded code in factor_trial_range.
Merge remote-tracking branch 'fredrik/gmp2' into trunk
Fix bug for signed coeffs in fmpz_xgcd.c.
Fixed another bug and made some speedups in fmpz_xgcd.
Fixed another bug and made some speedups in fmpz_xgcd.
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'trunk' into gmp-ecm
Remove unneeded file.
Remove unneeded file.
Replace some len_t's with long.
Replace some len_t's with long.
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'trunk' into gmp-ecm
Switch to using B1 and B2_sqrt.
Fix c99 compile for profile in Makefile.in.
Fix c99 compile for profile in Makefile.in.
Fix c99 compile for profile in Makefile.mod.
Fix c99 compile for profile in Makefile.mod.
Add test code and better documentation for flint_mpn_divrem_preinv1 and
Added missing test code.
Added test code for mpn_extras/mulmod_preinv1.
Updated copyrights.
Test code for flint_mpn_mulmod_preinvn.
Add test code for flint_mpn_mulmod_preinvv.
Merge branch 'trunk' into gmp-ecm
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'trunk' into gmp-ecm
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'trunk' into gmp-ecm
Added test for n_factor_pp1.
Added test for fmpz_factor_pp1.
Merge branch 'trunk' into gmp-ecm
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Make static/shared/check for extension modules.
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Support building of extension modules.
Merge branch 'build_system' of https://github.com/jpflori/flint2 into trunk
Make clean for extensions.
Make tune, profile for extensions.
Make tests for extensions.
Make install for extensions.
Added missing line.
Added dependencies for extensions.
Merge xgcd_partial from qfb branch.
Added prototype for xgcd_partial to fmpz.h.
Add missing const to prototype.
Fix bug in fmpz_is_prime_pseudosquare on 32 bit machine.
Use slong instead of long in _si function prototypes.
Updated code_conventions.txt.
Update code_conventions.txt.
Replace unsigned long with ulong in code_conventions.txt.
Added mp_limb_signed_t to code_conventions.txt.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Merge remote-tracking branch 'fredrik/trunk' into trunk
Merge remote-tracking branch 'andres/mingw' into trunk
Replace unsigned long with ulong throughout.
Attempt to switch all longs to slong.
Fix minor bug in profiler.h to do with slong.
Fixed problem with profiler.o.
Switched all len_t to slong.
Update code_conventions.txt
Added missing test file.
Const fixes for ulong_extras, fmpz and fmpz_poly.
Correct spelling of Ralf Hemmecke.
const fixes for nmod_poly, and a few fixes for other modules.
const fixes for fmpq_poly.
Switch to BPSW for primality testing up to 64 bits.
const fixes for fmpz_mod_poly.
Call BPSW directly in n_is_prime.
const fixes for fmpz_vec and fix to const fix for fmpz_mod_poly.
Move const into more logical position.
Fix unused variable warning.
Further fiddling with const.
const fixes for fmpz_mod_poly_factor.
Fix const qualifiers.
Merge remote-tracking branch 'jpflori/sqrt' into trunk
Fixed passing around of p instead of ctx.
David Harvey's KS2 and KS4 code.
Added GC versions of fmpz files.
Removed fmpz.c from version control and added it to distclean.
Added test for flint_mpn_mulmod_2expp1_basecase.
Merge remote-tracking branch 'tom/gsoc' into trunk
Added flint_f/s/printf and flint_f/s/scanf.
Switched to using WORD/UWORD instead of L and UL.
Use ULLONG_MAX on Win64, etc.
Fixed some tab formatting issues.
Removed a typographical error from configure.
Fix lib order.
A few fixes for MinGW64.
Fix LONG_MIN.
Use fits_si on WIN64 (MPIR only I'm afraid).
Corrected error in fits_si.
64 bit popcount on windows64.
Fixed a typo in doc.
Changed a few longs for slong.
Fixed a 0L.
Fixed lots of WORD issues.
More longs fixed.
Fixed another 0l.
Fixed more L constants.
Another L constant.
Another long.
More longs and L's.
More UL's.
More constant fixes.
Fixed a UL.
More constant fixes.
Fixed another L.
More longs and constants.
More longs and UL's.
Added fmpz_poly_preinvert, fmpz_poly_div_preinv, fmpz_poly_divrem_preinv and
Used Sebastian's newton iteration code for fmpz_poly_preinvert.
Added mpn_mod_preinvn for reduction with precomputed inverse.
Added mpn_divrem_preinvn.
Changed interface for precomputed inverse functions in mpn_extras.
Added an fmpz_fdiv_qr_preinvn function, plus docs and tests.
Update copyright.
Sped up the precomputed inverse code and added a crossover.
Added additional credit.
Added TMP_ALLOC and used it in precomputed inverse functions in mpn_extras.
Use TMP_ALLOC in nmod_poly.
Cleaned up make profile.
Sped up precomputed inverse code and eliminated two unneeded functions.
Slight improvement in space required.
Use ordinary division when it is faster than the precomputed inverse version.
Fixed a bug in the test code for mod_preinvn.
Add precomputed inverse option to fmpz_poly_quasi_div/divrem/rem and similar for fmpq_poly.
Patch from Martin Lee to restore GMP support for Singular.
Added a missing aliasing statement.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Fixed bug in Makefile.subdirs to do with make profile for extensions.
Added some new functions to fmpq_poly for weak canonicalisation.
Changed the interface of the weak canonicalisation code to avoid large scale
Added profile code for precomputed inverse in fmpz_poly.
Added precomputed powers remainder functions for fmpz_poly and fmpq_poly.
Removed concept of weak canonicalisation and fixed some compiler warnings.
Merge remote-tracking branch 'sebastian/trunk' into trunk
Support Cygwin64 in configure.
Correct quoting in configure.
Attempt to fix fits_si.c on Windows 64.
Add _WIN64 definition for Cygwin64.
Redefine ulong for library headers.
Fix GMP interface issue.
Fix for missing alloca.h on MinGW64.
Fix for MPIR support.
Added missing initialisation.
Fixed another missing initialisation.
Patch for missing alloca.h on mingw32.
Another patch for alloca.
Better fix for alloca missing.
Back to previous solution for alloca.
Fixed bug in flint_sscanf.
Fix const in multi_CRT_ui.
Fix some more const placements and a silly Cygwin32 compiler warning.
More silly compiler warnings.
Merge remote-tracking branch 'tom/gsoc' into trunk
Removed a few more stupid compiler warnings.
Added FreeBSD alloca defines.
Better BSD detection.
Merge branch 'mingw32' of https://github.com/mmklee/flint2 into trunk
Fix for missing alloca.h on MinGW64.
Fix for MPIR support.
Added missing initialisation.
Fixed another missing initialisation.
Patch for missing alloca.h on mingw32.
Another patch for alloca.
Better fix for alloca missing.
Back to previous solution for alloca.
Fixed bug in flint_sscanf.
Fix const in multi_CRT_ui.
Fix some more const placements and a silly Cygwin32 compiler warning.
More silly compiler warnings.
Removed a few more stupid compiler warnings.
Added FreeBSD alloca defines.
Better BSD detection.
Add gcd_f function.
Fix for CPIMPORT in source tree.
Merge remote-tracking branch 'martin/fmpz_mod_poly_factor3' into trunk
Minor fixes.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Merge remote-tracking branch 'fredrik/trunk' into trunk
Remove TLS from fmpz_gc, because it's worthless.
Added a comment to prevent someone wasting their time.
Fixed malloc/free/realloc/calloc calls.
Add mutex to compute_primes.
Added flint_cleanup mutex.
Mutex fixes for fmpz and other places.
Fixed some more gc issues.
Added FLINT_TEST_INIT/CLEANUP macros with GC_init.
Fixed some typos in documentation (reported by Ahmad Soliman) and fixed an
Merged Qingwen GUAN's fmpz_inp/out_raw functions.
Fixed a compiler warning in longlong.h. Reported by Mike Stillman.
Fixed a compiler warning in nmod_poly_print (reported by Mike Stillman).
Add --enable/disable-assert option and fix all bugs existing asserts reveal.
Merge remote-tracking branch 'martin/flint_docu' into trunk
Added --enable-cxx option.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Added make check MOD=module for extensions.
Check MPIR/GMP and MPFR version numbers in flint.h.
Added flint version numbers.
Moved nmod_poly_factor functions out to separate module.
Merge remote-tracking branch 'fredrik/trunk' into trunk
Changed method of inclusion for fmpz_factor.h.
Changed inclusion details for fmpz_poly_factor.
Update the way fmpz_mod_poly_factor is included.
Updated docs on include files for blah_factor modules.
Updated C++ wrapper for new .h inclusion rules.
Partial update of AUTHORS
Add grant number.
Update documentation.
Updated AUTHORS.
Some additions to AUTHORS.
Updated and unified AUTHORS and contributors in docs.
Get documentation to build.
Cleanup of docs.
Merge remote-tracking branch 'mhansen/fq' into trunk
Merge remote-tracking branch 'mhansen/fq' into trunk
Update to flint-2.4.
Doc fixes.
Updated NEWS.
Removed some superfluous files.
Typo fix.
Update make dist on 2.4 branch.
Fixed mpir.h and ulong issue.
Merge remote-tracking branch 'mhansen/trunk' into trunk
Lots and lots of FLINT_TEST_INIT fixes.
Fixed bug on 32 bits.
Fix last commit.
Another fix for sme bug.
It's late at night.
Correct version numbers and docs.
Remove final zero from version number.
Fixed undefined variable warning.
Fix for sparc build.
Remove superfluous file from tree.
Fix a bug for small inputs in prime test.
Merge remote-tracking branch 'mhansen/trunk' into trunk
Merge remote-tracking branch 'mhansen/trunk' into trunk
Merge remote-tracking branch 'martin/flint_format' into flint-2.4
Merge remote-tracking branch 'mhansen/trunk' into flint-2.4
Merge remote-tracking branch 'mhansen/trunk' into flint-2.4
Merge remote-tracking branch 'fredrik/trunk' into trunk
Many fixes for long->slong, mostly in C++ wrapper.
Fixed compiler warning.
Added gmpcompat.h for MinGW64.
Added missing static __inline__'s.
Added remaining functions.
Fixed typo on exception.
Replace all occurrences of GMP _ui and _si functions with flint variants.
Roll back incorrect changes to NEWS.
Removed unnecessary define in longlong.h.
Use macro twice in flint_mpz_congruent_ui_p.
Fix a problem with allocation of temporary mpz in gmpcompat.h.
Added cast to flint_mpz_get_si.
Changed some mpz_ptr's to mpz_srcptr's.
Corrected prototypes for mpq_set/cmp_ui/si.
Added copyright notice.
GMP expects an allocation even for 0.
Mock mpz's must also have an allocation.
For C++ and the kiddies.
Fix a bug when using GMP.
Call correct function in gmpcompat.h.
Make dependency on gmpcompat.h.
Add some parentheses to shut up the compiler.
Merge remote-tracking branch 'mhansen/flint-2.4' into flint-2.4
Some files didn't have blaan line at end.
Fixed a build issue (still need to fix make install).
Print arithxx not t-arithxx.
Only use umull/smull for ARM M-series.
Try to get rid of annoying -n from echo -n.
Get rid of uninitialised variable warnings.
Fix export problems in Makefile.
Fixed missing parenthesis in docs.
Attempt to fix some unused variable warnings.
Fix some compiler warnings and a bug in C++ wrapper.
Fixed missing parenthesis.
Another attempted fix for ARM.
Move pragmas to stop gcc complaining about its own damned pragmas.
Updated docs for 2.4.1 release.
2.4.1 in make dist.
Apply patch to longlong.h for ARM.
Change version to 2.4.2.
Update NEWS.
Merge branch 'flint-2.4.1' into flint-2.4
Fixed a bug in the FFT which causes a tuning crash on some machines.
Update NEWS and version numbers.
Revert "correctly handle 0^0"
Added copyright for Dana Jacobsen and copied large base code over to precomp
Updates AUTHORS and manual.
Use precomputed inverse in large base mod operation in both versions of
Added powers regression test to t-is_prime and t-is_probabprime.
Added regression test for composites that were being passed as prime, as
Updated code_conventions.txt regarding WORD/UWORD macros and flint_printf.
Update flint version number for 2.4.4 release.
Spacing.
Updated docs on primality testing after recent changes.
Updated URLs to Feitsma and Galway tables and corrected spelling of Feitsma.
Clarified where our BPSW test comes from.
Clarify the provenance of our Lucas test.
Update make dist for 2.4.4.
argriffing (1):
copy paste bug
buaagg (1):
Add fmpz_inp_raw & fmpz_out_raw along with document and test.
unknown (31):
Made FLINT-Lite build on Cygwin (but probably broke other systems)
Fixed all 64 bit only code in FLINT-Lite root dir and tests.
Add -enable-auto-import for Cygwin.
Merge branch 'fmpz' of ssh://git@selmer.warwick.ac.uk/home/git/repositories/FLINT-Lite into fmpz
Removed fmpz.c link due to problems.
Added fmpz.c.lnk.
Fixed random generator to work correctly on 32 bit machines.
Fixed problem in t-gcd.c for 32 bit machines.
Fixed t-gcdinv for 32 bits.
Fixed t-xgcd to work with 32 bits.
Fixed mod2_preinv.c for 32 bits.
Fixed mulmod_precomp to work with 32 bits.
Fixed ll_mod_preinv.c to work with 32 bits.
Fixed t-mulmod_precomp and t-powmod_precomp to work with 32 bits.
Fixed t-powmod to work with 32 bits.
Fixed t-remove to work with 32 bits.
Fixed t-is_square to work with 32 bits.
Fixed t-is_perfect_power235 to work with 32 bits.
Fixed is_odd_prime_small to work with 32 bits.
Fixed some minor spacing issues.
Fixed t-factor_power235 to work with 32 bits.
Fixed t-is_strong_probabprime* to work with 32 bits.
Fixed is_probabprime_lucas to work with 32 bits.
Fixed is_probabprime_fermat to work with 32 bits.
Fixed is_probabprime_fibonacci and is_probab_prime_BPSW to work with 32 bits.
Fixed is_probabprime to work with 32 bits.
Fixed t-factor_one_line to work with 32 bits.
Fix t-factor_SQUFOF to work with 32 bits.
Fixed fmpz issues on 32 bit machines.
Fixed some warning messages on 32 bit machines.
Fixed some minor issues with is_prime on 32 bit machines.
Лина (1):
add test for _fmpz_vec_scalar_fdiv_q_fmpz function
-----------------------------------------------------------------------
No new revisions were added by this update.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/flint.git
More information about the debian-science-commits
mailing list