nmod_mat_mul_k52
#include <flint/nmod_mat.h>int nmod_mat_mul_k52(nmod_mat_t C, const nmod_mat_t A, const nmod_mat_t B)sourceSets for a modulus with integer SIMD instructions (AVX-512, AVX2, NEON, or portable C), and returns 1. Returns 0 if , on 32-bit machines, and for the portable C code compiled by MSVC. may be aliased with or . Uses several threads when available.
Each entry, lifted to , is split into two limbs of 27 and 25 bits, and each product is formed as a two-limb Karatsuba product with three widening -bit multiplications, accumulated in three 64-bit lanes without reduction for a block of 256 products. The three sums are combined modulo in double precision.
The FLINT team, “nmod_mat_mul_k52 (nmod_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_mat/nmod_mat_mul_k52.html (generated 2026-11-02).
@misc{flint-doc-nmod-mat-nmod-mat-mul-k52,
author = {{The FLINT team}},
title = {{nmod\_mat\_mul\_k52 (nmod\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_mat/nmod_mat_mul_k52.html},
note = {Generated 2026-11-02}
}