_d1c_vec_add, _d2c_vec_add, _d3c_vec_add, _d4c_vec_add, _d1c_vec_sub, _d2c_vec_sub, _d3c_vec_sub, _d4c_vec_sub, _d1c_vec_mul, _d2c_vec_mul, _d3c_vec_mul, _d4c_vec_mul, _d1c_vec_mul_scalar, _d2c_vec_mul_scalar, _d3c_vec_mul_scalar, _d4c_vec_mul_scalar, _d1c_vec_addmul_scalar, _d2c_vec_addmul_scalar, _d3c_vec_addmul_scalar, _d4c_vec_addmul_scalar, _d1c_vec_submul_scalar, _d2c_vec_submul_scalar, _d3c_vec_submul_scalar, _d4c_vec_submul_scalar, _d1c_vec_dot, _d2c_vec_dot, _d3c_vec_dot, _d4c_vec_dot, _d1c_vec_dot_rev, _d2c_vec_dot_rev, _d3c_vec_dot_rev, _d4c_vec_dot_rev, _d1c_vec_exp, _d2c_vec_exp, _d3c_vec_exp, _d4c_vec_exp, _d1cb_vec_add, _d2cb_vec_add, _d3cb_vec_add, _d4cb_vec_add, _d1cb_vec_sub, _d2cb_vec_sub, _d3cb_vec_sub, _d4cb_vec_sub, _d1cb_vec_mul, _d2cb_vec_mul, _d3cb_vec_mul, _d4cb_vec_mul, _d1cb_vec_mul_scalar, _d2cb_vec_mul_scalar, _d3cb_vec_mul_scalar, _d4cb_vec_mul_scalar, _d1cb_vec_addmul_scalar, _d2cb_vec_addmul_scalar, _d3cb_vec_addmul_scalar, _d4cb_vec_addmul_scalar, _d1cb_vec_submul_scalar, _d2cb_vec_submul_scalar, _d3cb_vec_submul_scalar, _d4cb_vec_submul_scalar, _d1cb_vec_dot, _d2cb_vec_dot, _d3cb_vec_dot, _d4cb_vec_dot, _d1cb_vec_dot_rev, _d2cb_vec_dot_rev, _d3cb_vec_dot_rev, _d4cb_vec_dot_rev, _d1cb_vec_exp, _d2cb_vec_exp, _d3cb_vec_exp, _d4cb_vec_exp
#include <flint/dfloat.h>void _d1c_vec_add(d1c_ptr res, d1c_srcptr x, d1c_srcptr y, slong len)void _d2c_vec_add(d2c_ptr res, d2c_srcptr x, d2c_srcptr y, slong len)void _d3c_vec_add(d3c_ptr res, d3c_srcptr x, d3c_srcptr y, slong len)void _d4c_vec_add(d4c_ptr res, d4c_srcptr x, d4c_srcptr y, slong len)void _d1c_vec_sub(d1c_ptr res, d1c_srcptr x, d1c_srcptr y, slong len)void _d2c_vec_sub(d2c_ptr res, d2c_srcptr x, d2c_srcptr y, slong len)void _d3c_vec_sub(d3c_ptr res, d3c_srcptr x, d3c_srcptr y, slong len)void _d4c_vec_sub(d4c_ptr res, d4c_srcptr x, d4c_srcptr y, slong len)void _d1c_vec_mul(d1c_ptr res, d1c_srcptr x, d1c_srcptr y, slong len)void _d2c_vec_mul(d2c_ptr res, d2c_srcptr x, d2c_srcptr y, slong len)void _d3c_vec_mul(d3c_ptr res, d3c_srcptr x, d3c_srcptr y, slong len)void _d4c_vec_mul(d4c_ptr res, d4c_srcptr x, d4c_srcptr y, slong len)void _d1c_vec_mul_scalar(d1c_ptr res, d1c_srcptr x, slong len, d1c_srcptr c)void _d2c_vec_mul_scalar(d2c_ptr res, d2c_srcptr x, slong len, d2c_srcptr c)void _d3c_vec_mul_scalar(d3c_ptr res, d3c_srcptr x, slong len, d3c_srcptr c)void _d4c_vec_mul_scalar(d4c_ptr res, d4c_srcptr x, slong len, d4c_srcptr c)void _d1c_vec_addmul_scalar(d1c_ptr res, d1c_srcptr x, slong len, d1c_srcptr c)void _d2c_vec_addmul_scalar(d2c_ptr res, d2c_srcptr x, slong len, d2c_srcptr c)void _d3c_vec_addmul_scalar(d3c_ptr res, d3c_srcptr x, slong len, d3c_srcptr c)void _d4c_vec_addmul_scalar(d4c_ptr res, d4c_srcptr x, slong len, d4c_srcptr c)void _d1c_vec_submul_scalar(d1c_ptr res, d1c_srcptr x, slong len, d1c_srcptr c)void _d2c_vec_submul_scalar(d2c_ptr res, d2c_srcptr x, slong len, d2c_srcptr c)void _d3c_vec_submul_scalar(d3c_ptr res, d3c_srcptr x, slong len, d3c_srcptr c)void _d4c_vec_submul_scalar(d4c_ptr res, d4c_srcptr x, slong len, d4c_srcptr c)void _d1c_vec_dot(d1c_t res, d1c_srcptr initial, int subtract, d1c_srcptr x, d1c_srcptr y, slong len)void _d2c_vec_dot(d2c_t res, d2c_srcptr initial, int subtract, d2c_srcptr x, d2c_srcptr y, slong len)void _d3c_vec_dot(d3c_t res, d3c_srcptr initial, int subtract, d3c_srcptr x, d3c_srcptr y, slong len)void _d4c_vec_dot(d4c_t res, d4c_srcptr initial, int subtract, d4c_srcptr x, d4c_srcptr y, slong len)void _d1c_vec_dot_rev(d1c_t res, d1c_srcptr initial, int subtract, d1c_srcptr x, d1c_srcptr y, slong len)void _d2c_vec_dot_rev(d2c_t res, d2c_srcptr initial, int subtract, d2c_srcptr x, d2c_srcptr y, slong len)void _d3c_vec_dot_rev(d3c_t res, d3c_srcptr initial, int subtract, d3c_srcptr x, d3c_srcptr y, slong len)void _d4c_vec_dot_rev(d4c_t res, d4c_srcptr initial, int subtract, d4c_srcptr x, d4c_srcptr y, slong len)void _d1c_vec_exp(d1c_ptr res, d1c_srcptr x, slong len)void _d2c_vec_exp(d2c_ptr res, d2c_srcptr x, slong len)void _d3c_vec_exp(d3c_ptr res, d3c_srcptr x, slong len)void _d4c_vec_exp(d4c_ptr res, d4c_srcptr x, slong len)void _d1cb_vec_add(d1cb_ptr res, d1cb_srcptr x, d1cb_srcptr y, slong len)void _d2cb_vec_add(d2cb_ptr res, d2cb_srcptr x, d2cb_srcptr y, slong len)void _d3cb_vec_add(d3cb_ptr res, d3cb_srcptr x, d3cb_srcptr y, slong len)void _d4cb_vec_add(d4cb_ptr res, d4cb_srcptr x, d4cb_srcptr y, slong len)void _d1cb_vec_sub(d1cb_ptr res, d1cb_srcptr x, d1cb_srcptr y, slong len)void _d2cb_vec_sub(d2cb_ptr res, d2cb_srcptr x, d2cb_srcptr y, slong len)void _d3cb_vec_sub(d3cb_ptr res, d3cb_srcptr x, d3cb_srcptr y, slong len)void _d4cb_vec_sub(d4cb_ptr res, d4cb_srcptr x, d4cb_srcptr y, slong len)void _d1cb_vec_mul(d1cb_ptr res, d1cb_srcptr x, d1cb_srcptr y, slong len)void _d2cb_vec_mul(d2cb_ptr res, d2cb_srcptr x, d2cb_srcptr y, slong len)void _d3cb_vec_mul(d3cb_ptr res, d3cb_srcptr x, d3cb_srcptr y, slong len)void _d4cb_vec_mul(d4cb_ptr res, d4cb_srcptr x, d4cb_srcptr y, slong len)void _d1cb_vec_mul_scalar(d1cb_ptr res, d1cb_srcptr x, slong len, d1cb_srcptr c)void _d2cb_vec_mul_scalar(d2cb_ptr res, d2cb_srcptr x, slong len, d2cb_srcptr c)void _d3cb_vec_mul_scalar(d3cb_ptr res, d3cb_srcptr x, slong len, d3cb_srcptr c)void _d4cb_vec_mul_scalar(d4cb_ptr res, d4cb_srcptr x, slong len, d4cb_srcptr c)void _d1cb_vec_addmul_scalar(d1cb_ptr res, d1cb_srcptr x, slong len, d1cb_srcptr c)void _d2cb_vec_addmul_scalar(d2cb_ptr res, d2cb_srcptr x, slong len, d2cb_srcptr c)void _d3cb_vec_addmul_scalar(d3cb_ptr res, d3cb_srcptr x, slong len, d3cb_srcptr c)void _d4cb_vec_addmul_scalar(d4cb_ptr res, d4cb_srcptr x, slong len, d4cb_srcptr c)void _d1cb_vec_submul_scalar(d1cb_ptr res, d1cb_srcptr x, slong len, d1cb_srcptr c)void _d2cb_vec_submul_scalar(d2cb_ptr res, d2cb_srcptr x, slong len, d2cb_srcptr c)void _d3cb_vec_submul_scalar(d3cb_ptr res, d3cb_srcptr x, slong len, d3cb_srcptr c)void _d4cb_vec_submul_scalar(d4cb_ptr res, d4cb_srcptr x, slong len, d4cb_srcptr c)void _d1cb_vec_dot(d1cb_t res, d1cb_srcptr initial, int subtract, d1cb_srcptr x, d1cb_srcptr y, slong len)void _d2cb_vec_dot(d2cb_t res, d2cb_srcptr initial, int subtract, d2cb_srcptr x, d2cb_srcptr y, slong len)void _d3cb_vec_dot(d3cb_t res, d3cb_srcptr initial, int subtract, d3cb_srcptr x, d3cb_srcptr y, slong len)void _d4cb_vec_dot(d4cb_t res, d4cb_srcptr initial, int subtract, d4cb_srcptr x, d4cb_srcptr y, slong len)void _d1cb_vec_dot_rev(d1cb_t res, d1cb_srcptr initial, int subtract, d1cb_srcptr x, d1cb_srcptr y, slong len)void _d2cb_vec_dot_rev(d2cb_t res, d2cb_srcptr initial, int subtract, d2cb_srcptr x, d2cb_srcptr y, slong len)void _d3cb_vec_dot_rev(d3cb_t res, d3cb_srcptr initial, int subtract, d3cb_srcptr x, d3cb_srcptr y, slong len)void _d4cb_vec_dot_rev(d4cb_t res, d4cb_srcptr initial, int subtract, d4cb_srcptr x, d4cb_srcptr y, slong len)void _d1cb_vec_exp(d1cb_ptr res, d1cb_srcptr x, slong len)void _d2cb_vec_exp(d2cb_ptr res, d2cb_srcptr x, slong len)void _d3cb_vec_exp(d3cb_ptr res, d3cb_srcptr x, slong len)void _d4cb_vec_exp(d4cb_ptr res, d4cb_srcptr x, slong len)Vector operations, implemented with the real vector operations: vec_add and vec_sub are the real ones on 2\,\mathit{len} elements; the dot products are two real dot products per block of 32 terms (3 to 4 times faster than a loop of complex products); vec_exp uses the real vec_exp and vec_sin_cos on blocks of 32 elements.
The FLINT team, “_d1c_vec_add, _d2c_vec_add, _d3c_vec_add, _d4c_vec_add, _d1c_vec_sub, _d2c_vec_sub, _d3c_vec_sub, _d4c_vec_sub, _d1c_vec_mul, _d2c_vec_mul, _d3c_vec_mul, _d4c_vec_mul, _d1c_vec_mul_scalar, _d2c_vec_mul_scalar, _d3c_vec_mul_scalar, _d4c_vec_mul_scalar, _d1c_vec_addmul_scalar, _d2c_vec_addmul_scalar, _d3c_vec_addmul_scalar, _d4c_vec_addmul_scalar, _d1c_vec_submul_scalar, _d2c_vec_submul_scalar, _d3c_vec_submul_scalar, _d4c_vec_submul_scalar, _d1c_vec_dot, _d2c_vec_dot, _d3c_vec_dot, _d4c_vec_dot, _d1c_vec_dot_rev, _d2c_vec_dot_rev, _d3c_vec_dot_rev, _d4c_vec_dot_rev, _d1c_vec_exp, _d2c_vec_exp, _d3c_vec_exp, _d4c_vec_exp, _d1cb_vec_add, _d2cb_vec_add, _d3cb_vec_add, _d4cb_vec_add, _d1cb_vec_sub, _d2cb_vec_sub, _d3cb_vec_sub, _d4cb_vec_sub, _d1cb_vec_mul, _d2cb_vec_mul, _d3cb_vec_mul, _d4cb_vec_mul, _d1cb_vec_mul_scalar, _d2cb_vec_mul_scalar, _d3cb_vec_mul_scalar, _d4cb_vec_mul_scalar, _d1cb_vec_addmul_scalar, _d2cb_vec_addmul_scalar, _d3cb_vec_addmul_scalar, _d4cb_vec_addmul_scalar, _d1cb_vec_submul_scalar, _d2cb_vec_submul_scalar, _d3cb_vec_submul_scalar, _d4cb_vec_submul_scalar, _d1cb_vec_dot, _d2cb_vec_dot, _d3cb_vec_dot, _d4cb_vec_dot, _d1cb_vec_dot_rev, _d2cb_vec_dot_rev, _d3cb_vec_dot_rev, _d4cb_vec_dot_rev, _d1cb_vec_exp, _d2cb_vec_exp, _d3cb_vec_exp, _d4cb_vec_exp (dfloat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/dfloat/_d1c_vec_add.html (generated 2026-10-20).
@misc{flint-doc-dfloat-d1c-vec-add,
author = {{The FLINT team}},
title = {{\_d1c\_vec\_add, \_d2c\_vec\_add, \_d3c\_vec\_add, \_d4c\_vec\_add, \_d1c\_vec\_sub, \_d2c\_vec\_sub, \_d3c\_vec\_sub, \_d4c\_vec\_sub, \_d1c\_vec\_mul, \_d2c\_vec\_mul, \_d3c\_vec\_mul, \_d4c\_vec\_mul, \_d1c\_vec\_mul\_scalar, \_d2c\_vec\_mul\_scalar, \_d3c\_vec\_mul\_scalar, \_d4c\_vec\_mul\_scalar, \_d1c\_vec\_addmul\_scalar, \_d2c\_vec\_addmul\_scalar, \_d3c\_vec\_addmul\_scalar, \_d4c\_vec\_addmul\_scalar, \_d1c\_vec\_submul\_scalar, \_d2c\_vec\_submul\_scalar, \_d3c\_vec\_submul\_scalar, \_d4c\_vec\_submul\_scalar, \_d1c\_vec\_dot, \_d2c\_vec\_dot, \_d3c\_vec\_dot, \_d4c\_vec\_dot, \_d1c\_vec\_dot\_rev, \_d2c\_vec\_dot\_rev, \_d3c\_vec\_dot\_rev, \_d4c\_vec\_dot\_rev, \_d1c\_vec\_exp, \_d2c\_vec\_exp, \_d3c\_vec\_exp, \_d4c\_vec\_exp, \_d1cb\_vec\_add, \_d2cb\_vec\_add, \_d3cb\_vec\_add, \_d4cb\_vec\_add, \_d1cb\_vec\_sub, \_d2cb\_vec\_sub, \_d3cb\_vec\_sub, \_d4cb\_vec\_sub, \_d1cb\_vec\_mul, \_d2cb\_vec\_mul, \_d3cb\_vec\_mul, \_d4cb\_vec\_mul, \_d1cb\_vec\_mul\_scalar, \_d2cb\_vec\_mul\_scalar, \_d3cb\_vec\_mul\_scalar, \_d4cb\_vec\_mul\_scalar, \_d1cb\_vec\_addmul\_scalar, \_d2cb\_vec\_addmul\_scalar, \_d3cb\_vec\_addmul\_scalar, \_d4cb\_vec\_addmul\_scalar, \_d1cb\_vec\_submul\_scalar, \_d2cb\_vec\_submul\_scalar, \_d3cb\_vec\_submul\_scalar, \_d4cb\_vec\_submul\_scalar, \_d1cb\_vec\_dot, \_d2cb\_vec\_dot, \_d3cb\_vec\_dot, \_d4cb\_vec\_dot, \_d1cb\_vec\_dot\_rev, \_d2cb\_vec\_dot\_rev, \_d3cb\_vec\_dot\_rev, \_d4cb\_vec\_dot\_rev, \_d1cb\_vec\_exp, \_d2cb\_vec\_exp, \_d3cb\_vec\_exp, \_d4cb\_vec\_exp (dfloat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/dfloat/_d1c_vec_add.html},
note = {Generated 2026-10-20}
}