FLINT3.7.0-dev

gr_ctx_init_gr_poly_transformed_repr

Synopsis#include <flint/gr.h>
int gr_ctx_init_gr_poly_transformed_repr(gr_ctx_t ctx, gr_ctx_t base, slong len_bound, slong terms_bound, const gr_transformed_poly_workload_struct * workload)source

Constructs a ring of transformed polynomials over base admitting lengths up to len_bound and up to terms_bound accumulated elementary products per element, for the estimated workload (which may be NULL, though implementations then usually judge the switch unprofitable). Returns GR_UNABLE if the base ring provides no transformed representation (the method GR_METHOD_CTX_INIT_TRANSFORMED_POLY_REPR, implemented for nmod and mpn_mod base rings) or judges the switch unprofitable.

Conversions are performed by the SET_GR_POLY, GET_GR_POLY and GET_GR_POLY_WINDOW methods of the constructed context; the window variant writes the coefficients [z_l, z_h) of the represented polynomial, with zeros beyond its length. _gr_get_gr_poly_destructive converts out through the GET_GR_POLY_DESTRUCTIVE method where the representation provides it: the inverse transforms then run on the element's own storage, skipping a transform-sized copy, and the element may only be cleared or fully overwritten afterwards; representations without the method fall back to the copying conversion.

Cite this page

The FLINT team, “gr_ctx_init_gr_poly_transformed_repr (gr.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr/gr_ctx_init_gr_poly_transformed_repr.html (generated 2026-10-20).