_nfloat_vec_dot, _nfloat_vec_dot_rev
Synopsis
#include <flint/nfloat.h>int _nfloat_vec_dot(nfloat_ptr res, nfloat_srcptr initial, int subtract, nfloat_srcptr x, nfloat_srcptr y, slong len, gr_ctx_t ctx)sourceint _nfloat_vec_dot_rev(nfloat_ptr res, nfloat_srcptr initial, int subtract, nfloat_srcptr x, nfloat_srcptr y, slong len, gr_ctx_t ctx)sourceSet res to s \pm \sum_{i} x_i y_i (or with y reversed), where s is initial (zero if NULL) and the sign is negative if subtract is nonzero. The sum is accumulated in fixed point with one guard word after a pass that finds the largest exponent, so the result has an error of a few ulps relative to the largest term rather than one rounding per term; with directed rounding it is a valid bound. See Dot products.
Guides#
Cite this page
The FLINT team, “_nfloat_vec_dot, _nfloat_vec_dot_rev (nfloat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nfloat/_nfloat_vec_dot.html (generated 2026-10-20).
@misc{flint-doc-nfloat-nfloat-vec-dot,
author = {{The FLINT team}},
title = {{\_nfloat\_vec\_dot, \_nfloat\_vec\_dot\_rev (nfloat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nfloat/_nfloat_vec_dot.html},
note = {Generated 2026-10-20}
}