Horner's rule for polynomial evaluation: Difference between revisions
Content deleted Content added
add scala example |
→{{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}}== |