Horner's rule for polynomial evaluation: Difference between revisions

Content deleted Content added
add scala example
Ce (talk | contribs)
→‎{{header|C++}}: more idiomatic solution
Line 129: Line 129:
return 0;
return 0;
}</lang>
}</lang>

Yet another solution, which is more idiomatic in C++ and works on any bidirectional sequence:

<lang cpp>
#include <iostream>

template<typename BidirIter>
double horner(BidirIter begin, BidirIter end, double x)
{
double result = 0;
while (end != begin)
result = result*x + *--end;
return result;
}

int main()
{
double c[] = { -19, 7, -4, 6 };
std::cout << horner(c, c + 4, 3) << std::endl;
}
</lang>


=={{header|Clojure}}==
=={{header|Clojure}}==