add quotient circuit structure and improve fmt for polynomials
This commit is contained in:
@@ -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(","))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user