Anonymous user
Horner's rule for polynomial evaluation: Difference between revisions
Horner's rule for polynomial evaluation (view source)
Revision as of 08:28, 19 August 2019
, 4 years ago→{{header|Rust}}: Zero trait deprecated, moved into num crate. Compiles in stable (1.37).
(Horner's rule for polynomial evaluation en FreeBASIC) |
(→{{header|Rust}}: Zero trait deprecated, moved into num crate. Compiles in stable (1.37).) |
||
Line 1,762:
}</lang>
A generic version that works with any number type and much more. So much more, it's hard to imagine what that may be useful for.
<lang rust>extern crate num; // 0.2.0
use num::Zero;
use std::
fn horner<Arr, Arg, Out>(v: &[Arr], x: Arg) -> Out
Arg: Clone,
{
v.iter()
v.iter().rev().fold(Zero::zero(), |acc, coeff| acc*x.clone() + coeff.clone())▼
.rev()
}
fn main() {
let v = [-19., 7., -4., 6.];
println!("result: {}", output);
}</lang>
|