_nmod_vec_dot2_split, _nmod_vec_dot2_split_rev, _nmod_vec_dot2_split_ptr
Synopsis
#include <flint/nmod_vec.h>ulong _nmod_vec_dot2_split(nn_srcptr vec1, nn_srcptr vec2, slong len, nmod_t mod, ulong pow2_precomp)sourceulong _nmod_vec_dot2_split_rev(nn_srcptr vec1, nn_srcptr vec2, slong len, nmod_t mod, ulong pow2_precomp)sourceulong _nmod_vec_dot2_split_ptr(nn_srcptr vec1, const nn_ptr * vec2, slong offset, slong len, nmod_t mod, ulong pow2_precomp)sourceDot product kernel for 64-bit machines that keeps the unreduced sum as h \, 2^{56} + \ell in two words and folds h in with pow2_precomp = 2^{56} \bmod n. Requires n \le 1515531528 and a bound on the length; see splitting at bit 56.
Cite this page
The FLINT team, “_nmod_vec_dot2_split, _nmod_vec_dot2_split_rev, _nmod_vec_dot2_split_ptr (nmod_vec.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_vec/_nmod_vec_dot2_split.html (generated 2026-10-20).
@misc{flint-doc-nmod-vec-nmod-vec-dot2-split,
author = {{The FLINT team}},
title = {{\_nmod\_vec\_dot2\_split, \_nmod\_vec\_dot2\_split\_rev, \_nmod\_vec\_dot2\_split\_ptr (nmod\_vec.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_vec/_nmod_vec_dot2_split.html},
note = {Generated 2026-10-20}
}