pub fn eval<T>(&self, x: T) -> f64
    where
        T: Into<f64> + Copy,
    {
        let x = x.into();
        let l = self.coef.len() - 1;
        let mut s = self.coef[0];
        for i in 0..l {
            s = self.coef[i + 1] + x * s;
        }
        s
    }
Evaluate polynomial with value according to Horner's method

# Examples
```
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
let a = poly(c!(1,3,2));
assert_eq!(a.eval(1), 6_f64);

let b = poly(c!(1, 1, -2, -2));
let x = 2_f64.sqrt();
let horner_evaluation = b.eval(x);
let naive_evaluation = x.powf(3.0) + x.powf(2.0) - 2.0*x - 2.0;
assert_eq!(horner_evaluation, 0_f64);
assert_ne!(naive_evaluation, horner_evaluation);
}
```
src/structure/polynomial.rs