FLINT3.7.0-dev

gr_addmul, gr_addmul_ui, gr_addmul_si, gr_addmul_fmpz, gr_addmul_fmpq, gr_addmul_other, gr_submul, gr_submul_ui, gr_submul_si, gr_submul_fmpz, gr_submul_fmpq, gr_submul_other

Synopsis#include <flint/gr.h>
int gr_addmul(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t ctx)source
int gr_addmul_ui(gr_ptr res, gr_srcptr x, ulong y, gr_ctx_t ctx)source
int gr_addmul_si(gr_ptr res, gr_srcptr x, slong y, gr_ctx_t ctx)source
int gr_addmul_fmpz(gr_ptr res, gr_srcptr x, const fmpz_t y, gr_ctx_t ctx)source
int gr_addmul_fmpq(gr_ptr res, gr_srcptr x, const fmpq_t y, gr_ctx_t ctx)source
int gr_addmul_other(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t y_ctx, gr_ctx_t ctx)source
int gr_submul(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t ctx)source
int gr_submul_ui(gr_ptr res, gr_srcptr x, ulong y, gr_ctx_t ctx)source
int gr_submul_si(gr_ptr res, gr_srcptr x, slong y, gr_ctx_t ctx)source
int gr_submul_fmpz(gr_ptr res, gr_srcptr x, const fmpz_t y, gr_ctx_t ctx)source
int gr_submul_fmpq(gr_ptr res, gr_srcptr x, const fmpq_t y, gr_ctx_t ctx)source
int gr_submul_other(gr_ptr res, gr_srcptr x, gr_srcptr y, gr_ctx_t y_ctx, gr_ctx_t ctx)source

Set res to \mathit{res} + x y, respectively \mathit{res} - x y. The default forms the product in a temporary; rings may fuse the operation, avoiding the temporary or an intermediate rounding. For sums of many products use the dot products of gr_vec (_gr_vec_dot), which rings optimise further.

Guides#

Cite this page

The FLINT team, “gr_addmul, gr_addmul_ui, gr_addmul_si, gr_addmul_fmpz, gr_addmul_fmpq, gr_addmul_other, gr_submul, gr_submul_ui, gr_submul_si, gr_submul_fmpz, gr_submul_fmpq, gr_submul_other (gr.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr/gr_addmul.html (generated 2026-10-20).