use flint3_sys::fmpz_poly_struct;
use std::fmt;
mod arithmetic;
mod cmp;
mod coefficient_embedding;
mod default;
mod dot_product;
mod evaluate;
pub(crate) mod fmpz_poly_helpers;
mod from;
mod get;
mod norm;
mod ownership;
mod properties;
mod reduce;
mod sample;
mod serialize;
mod set;
mod to_string;
mod unsafe_functions;
pub struct PolyOverZ {
pub(crate) poly: fmpz_poly_struct,
}
impl fmt::Debug for PolyOverZ {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"PolyOverZ {{ poly: {}, storage: {{ poly: {}}}}}",
self,
debug_fmpz_poly_struct(&self.poly)
)
}
}
pub(crate) fn debug_fmpz_poly_struct(value: &fmpz_poly_struct) -> String {
format!(
"fmpz_poly_struct {{ coeffs: {:#x}, alloc: {}, length: {} }}",
value.coeffs.addr(),
value.alloc,
value.length
)
}