View source code Display the source code in std/math.d from which this page was generated on github. Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

Function std.math.poly

Evaluate polynomial A(x) = ⊂ + ⊂x + ⊂x,2 + ⊂x,3; ...

Uses Horner's rule A(x) = ⊂ + x(⊂ + x(⊂ + x(⊂ + ...)))

Prototype

Unqual!(CommonType!(T1,T2)) poly(T1, T2)(
  T1 x,
  T2[] A
) pure nothrow @nogc @trusted
if (isFloatingPoint!T1 && isFloatingPoint!T2);

Parameters

NameDescription
x the value to evaluate.
A array of coefficients ⊂, ⊂, etc.

Example

double x = 3.1;
static real[] pp = [56.1, 32.7, 6];

assert(poly(x, pp) == (56.1L + (32.7L + 6.0L * x) * x));

Authors

Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw

License

Boost License 1.0.

Comments