use crate::Rational;
use crate::rational_polynomial::RationalPolynomial;
use alloc::vec::Vec;
use malachite_base::num::basic::traits::Zero;
use malachite_base::polynomial::Polynomial;
pub fn integral_naive(p: &RationalPolynomial) -> RationalPolynomial {
if *p == RationalPolynomial::ZERO {
return RationalPolynomial::ZERO;
}
let mut coefficients = Vec::with_capacity(usize::try_from(p.len()).unwrap() + 1);
coefficients.push(Rational::ZERO);
for i in 0..p.len() {
coefficients.push(p.coefficient(i) / Rational::from(i + 1));
}
RationalPolynomial::from_coefficients_asc(coefficients)
}