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 p at the positions congruent to either start position modulo p, for every factor base prime p 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-10-20).