FLINT3.7.0-dev

NN_DOTREV_S3_1X1, NN_DOTREV_S3_1X1_HIGH, NN_DOTREV_S3_A3_1X1, NN_ADDMUL_S2_A2_1X1

Synopsis#include <flint/mpn_extras.h>
NN_DOTREV_S3_1X1(s2, s1, s0, u, v, n)source
NN_DOTREV_S3_1X1_HIGH(s2, s1, u, v, n)source
NN_DOTREV_S3_A3_1X1(r2, r1, r0, s2, s1, s0, u, v, n)source
NN_ADDMUL_S2_A2_1X1(r1, r0, s1, s0, x, y)source

Reversed dot products of limbs into a three-limb accumulator: (s_2, s_1, s_0) = \sum_{i<n} u_i v_{n-1-i} (for n \ge 2); the same summing only the high limbs of the products; the sum added to a given three-limb value (for n \ge 1, the result fitting in three limbs); and a two-limb (r_1, r_0) = (s_1, s_0) + xy without carry out. They are the building blocks of the generic basecases.

Cite this page

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