FLINT3.7.0-dev

qsieve_do_sieving, qsieve_do_sieving2, qsieve_do_sieving3

Synopsis#include <flint/qsieve.h>
void qsieve_do_sieving(qs_t qs_inf, unsigned char * sieve, qs_poly_t poly)source
void qsieve_do_sieving2(qs_t qs_inf, unsigned char * sieve, qs_poly_t poly)source
void qsieve_do_sieving3(qs_t qs_inf, unsigned char * sieve, qs_poly_t poly)source

Sieve the interval for the polynomial poly: initialise the sieve and add the approximate logarithm of pp at the positions congruent to either start position modulo pp, for every factor base prime pp beyond the small primes. The first version sieves the whole array prime by prime; the second works block by block, with the primes below QS_SMALL_BOUND sieved over L1-sized sub-blocks; the third (used unless the sieve is small) adds a bucket sieve for the primes above BLOCK_SIZE: each of them is visited once per polynomial and its hits are appended to a bucket per sub-block, and the buckets are applied to the sub-blocks in turn and kept for qsieve_evaluate_candidate.

Cite this page

The FLINT team, “qsieve_do_sieving, qsieve_do_sieving2, qsieve_do_sieving3 (qsieve.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/qsieve/qsieve_do_sieving.html (generated 2026-11-02).