pub trait Semiring:
Copy
+ Clone
+ Send
+ Sync
+ 'static {
type Scalar: Scalar;
// Required methods
fn zero() -> Self;
fn one() -> Self;
fn add(self, rhs: Self) -> Self;
fn mul(self, rhs: Self) -> Self;
fn from_scalar(s: Self::Scalar) -> Self;
fn to_scalar(self) -> Self::Scalar;
fn is_zero(&self) -> bool;
}Expand description
Required Associated Types§
Required Methods§
Sourcefn from_scalar(s: Self::Scalar) -> Self
fn from_scalar(s: Self::Scalar) -> Self
Create from scalar value
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.