FLINT3.7.0-dev

gr_generic_vec_dot, gr_generic_vec_dot_rev, gr_generic_vec_dot_strided, gr_generic_vec_dot_ui, gr_generic_vec_dot_si, gr_generic_vec_dot_fmpz

Synopsis#include <flint/gr_generic.h>
int gr_generic_vec_dot(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, gr_srcptr vec2, slong len, gr_ctx_t ctx)source
int gr_generic_vec_dot_rev(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, gr_srcptr vec2, slong len, gr_ctx_t ctx)source
int gr_generic_vec_dot_strided(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, slong stride1, gr_srcptr vec2, slong stride2, slong len, gr_ctx_t ctx)source
int gr_generic_vec_dot_ui(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, const ulong * vec2, slong len, gr_ctx_t ctx)source
int gr_generic_vec_dot_si(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, const slong * vec2, slong len, gr_ctx_t ctx)source
int gr_generic_vec_dot_fmpz(gr_ptr res, gr_srcptr initial, int subtract, gr_srcptr vec1, const fmpz * vec2, slong len, gr_ctx_t ctx)source

Defaults of the dot products (Dot products): multiply and add term by term in a temporary. The strided version gathers the entries by shallow copies and calls _gr_vec_dot when the ring has its own VEC_DOT method.

Cite this page

The FLINT team, “gr_generic_vec_dot, gr_generic_vec_dot_rev, gr_generic_vec_dot_strided, gr_generic_vec_dot_ui, gr_generic_vec_dot_si, gr_generic_vec_dot_fmpz (gr_generic.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_generic/gr_generic_vec_dot.html (generated 2026-10-20).