use crate::integer::Integer;
use crate::integer_polynomial::{IntegerPolynomial, SerdeIntegerPolynomial};
use alloc::string::{String, ToString};
use malachite_base::num::basic::traits::Zero;
impl From<IntegerPolynomial> for SerdeIntegerPolynomial {
#[inline]
fn from(p: IntegerPolynomial) -> Self {
Self(p.coefficients)
}
}
impl TryFrom<SerdeIntegerPolynomial> for IntegerPolynomial {
type Error = String;
#[inline]
fn try_from(p: SerdeIntegerPolynomial) -> Result<Self, String> {
if p.0.last() == Some(&Integer::ZERO) {
return Err("Last coefficient is zero".to_string());
}
Ok(Self { coefficients: p.0 })
}
}