add quotient circuit structure and improve fmt for polynomials

This commit is contained in:
2026-04-22 17:17:14 +02:00
parent dee53e6339
commit 42d1dd30dc
4 changed files with 64 additions and 2 deletions

View File

@@ -1 +1,28 @@
use crate::poly::{flat::Poly,var::Var};
use super::dag::Circuit;
use itertools::Itertools;
use std::fmt::{self,Display};
#[derive(Clone, Debug)]
pub struct Quotient<V:Var>{
basis: Vec<Poly<V>>,
circuit: Circuit<V>,
}
impl<V: Var> FromIterator<Poly<V>> for Quotient<V> {
fn from_iter<T: IntoIterator<Item = Poly<V>>>(iter: T) -> Self {
Quotient {
basis:iter.into_iter().collect(),
circuit:Default::default()
}
}
}
impl<V:Var> Display for Quotient<V>{
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> Result<(),fmt::Error>{
write!(fmt, "C/<{}>", self.basis.iter().map(|p| format!("{p}")).join(","))
}
}