FLINT3.7.0-dev

_acb_poly_evaluate_horner, acb_poly_evaluate_horner, _acb_poly_evaluate_rectangular, acb_poly_evaluate_rectangular, _acb_poly_evaluate, acb_poly_evaluate

Synopsis#include <flint/acb_poly.h>
void _acb_poly_evaluate_horner(acb_t y, acb_srcptr f, slong len, const acb_t x, slong prec)source
void acb_poly_evaluate_horner(acb_t y, const acb_poly_t f, const acb_t x, slong prec)source
void _acb_poly_evaluate_rectangular(acb_t y, acb_srcptr f, slong len, const acb_t x, slong prec)source
void acb_poly_evaluate_rectangular(acb_t y, const acb_poly_t f, const acb_t x, slong prec)source
void _acb_poly_evaluate(acb_t y, acb_srcptr f, slong len, const acb_t x, slong prec)source
void acb_poly_evaluate(acb_t y, const acb_poly_t f, const acb_t x, slong prec)source

Set y = f(x) using Horner's rule, rectangular splitting [PS1973], or an automatic choice: rectangular splitting when \mathit{prec} \ge 1024, \mathit{len} \ge 5 + 20000/\mathit{prec} and the coefficients have at most \mathit{prec}/2 bits, Horner's rule otherwise. The underscore versions accept \mathit{len} = 0.

References#

  • [PS1973] M. S. Paterson and L. J. Stockmeyer, "On the number of nonscalar multiplications necessary to evaluate polynomials", SIAM J. Comput (1973)
Cite this page

The FLINT team, “_acb_poly_evaluate_horner, acb_poly_evaluate_horner, _acb_poly_evaluate_rectangular, acb_poly_evaluate_rectangular, _acb_poly_evaluate, acb_poly_evaluate (acb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_poly/_acb_poly_evaluate_horner.html (generated 2026-10-20).