#ifndef POLYNOMIAL_COMPUTE_H
#define POLYNOMIAL_COMPUTE_H
//////////////////////////////////////////////////////////////////////////
// 多项式计算:
// 霍纳规则 T = a0 + x(a1 + x(a2 + .... + x(an-1 + xan)...))
//////////////////////////////////////////////////////////////////////////
template <typename Iterator, typename Val>
Val polynomial_compute(Iterator a0, Iterator an, Val x)
{
// Initialize the result
Val result = Val();
// Do T‘ = x(a1 + x(a2 + .... + x(an-1 + xan)...))
while (--an != a0)
{
result += *an;
result *= x;
}
// Do T = a0 + T‘
return result += *a0;
}
#endif
【算法导论】计算多项式实现
最新推荐文章于 2024-11-19 11:00:40 发布