fn roots + std::ops::Sub + std::ops::Div + std::ops::Mul + std::ops::Neg + num_traits::FromPrimitive + PartialOrd + std::fmt::Debug + Copy + Clone + num_traits::Zero>(f:Polynomial, left:T, right:T) -> Vec { let rr = base_roots(f.clone(),left,right); rr.into_iter().map(|x| { root_by_newton_raphson_near(x, f.clone())}).collect() }