pub trait Semiring {
type Element;
// Required methods
fn zero(&self) -> Self::Element;
fn one(&self) -> Self::Element;
fn add(&self, a: Self::Element, b: Self::Element) -> Self::Element;
fn mul(&self, a: Self::Element, b: Self::Element) -> Self::Element;
fn times(&self, a: Self::Element, n: u64) -> Self::Element;
}Expand description
半環