_fmpz_poly_divrem_divconquer_recursive, _fmpz_poly_divremlow_divconquer_recursive, _fmpz_poly_div_divconquer_recursive
#include <flint/fmpz_poly.h>int _fmpz_poly_divrem_divconquer_recursive(fmpz * Q, fmpz * BQ, fmpz * W, const fmpz * A, const fmpz * B, slong lenB, int exact)sourceint _fmpz_poly_divremlow_divconquer_recursive(fmpz * Q, fmpz * QB, const fmpz * A, const fmpz * B, slong lenB, int exact)sourceint _fmpz_poly_div_divconquer_recursive(fmpz * Q, fmpz * temp, const fmpz * A, const fmpz * B, slong lenB, int exact)sourceThe recursive steps of divide-and-conquer division for the balanced case : they compute the quotient (Q, lenB), and divrem also the product (BQ, 2 lenB - 1) using the temporary (W, 2 lenB - 1); divremlow computes only the low coefficients of correctly (the array must still have room for ); div uses a temporary (temp, 2 lenB - 1) and does not compute [Mul2000]. The low coefficients of are not read. They require and do not allow aliasing; exact is as for _fmpz_poly_divrem.
References#
- [Mul2000] Thom Mulders : On Short Multiplications and Divisions, AAECC vol. 11 (2000) 69–88
The FLINT team, “_fmpz_poly_divrem_divconquer_recursive, _fmpz_poly_divremlow_divconquer_recursive, _fmpz_poly_div_divconquer_recursive (fmpz_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_poly/_fmpz_poly_divrem_divconquer_recursive.html (generated 2026-11-02).
@misc{flint-doc-fmpz-poly-fmpz-poly-divrem-divconquer-recursive,
author = {{The FLINT team}},
title = {{\_fmpz\_poly\_divrem\_divconquer\_recursive, \_fmpz\_poly\_divremlow\_divconquer\_recursive, \_fmpz\_poly\_div\_divconquer\_recursive (fmpz\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz_poly/_fmpz_poly_divrem_divconquer_recursive.html},
note = {Generated 2026-11-02}
}