FLINT3.7.0-dev

_n_fq_poly_divrem_basecase_, _n_fq_poly_rem_basecase_, n_fq_poly_divrem_divconquer_, n_fq_poly_divrem_, n_fq_poly_divrem, n_fq_poly_rem

Synopsis#include <flint/n_poly.h>
void _n_fq_poly_divrem_basecase_(ulong * Q, ulong * A, const ulong * AA, slong Alen, const ulong * B, slong Blen, const ulong * invB, const fq_nmod_ctx_t ctx, n_poly_stack_t St)source
void _n_fq_poly_rem_basecase_(ulong * Q, ulong * A, const ulong * AA, slong Alen, const ulong * B, slong Blen, const ulong * invB, const fq_nmod_ctx_t ctx, n_poly_stack_t St)source
void n_fq_poly_divrem_divconquer_(n_poly_t Q, n_poly_t R, const n_poly_t A, const n_poly_t B, const fq_nmod_ctx_t ctx, n_poly_stack_t St)source
void n_fq_poly_divrem_(n_poly_t Q, n_poly_t R, const n_poly_t A, const n_poly_t B, const fq_nmod_ctx_t ctx, n_poly_stack_t St)source
void n_fq_poly_divrem(n_poly_t Q, n_poly_t R, const n_poly_t A, const n_poly_t B, const fq_nmod_ctx_t ctx)source
void n_fq_poly_rem(n_poly_t R, const n_poly_t A, const n_poly_t B, const fq_nmod_ctx_t ctx)source

Euclidean division by a nonzero B: quotient and remainder, or the remainder only. The basecase functions work on arrays, with invB the inverse of the leading coefficient of B, AA the dividend and A receiving the remainder; n_fq_poly_divrem_ uses the classical algorithm for divisors of length below N_FQ_POLY_DIVREM_DIVCONQUER_CUTOFF (20) and divide and conquer otherwise.

Cite this page

The FLINT team, “_n_fq_poly_divrem_basecase_, _n_fq_poly_rem_basecase_, n_fq_poly_divrem_divconquer_, n_fq_poly_divrem_, n_fq_poly_divrem, n_fq_poly_rem (n_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/n_poly/_n_fq_poly_divrem_basecase_.html (generated 2026-10-20).