Trait rustfst::semirings::WeaklyDivisibleSemiring
source · pub trait WeaklyDivisibleSemiring: Semiring {
// Required method
fn divide_assign(
&mut self,
rhs: &Self,
divide_type: DivideType
) -> Result<()>;
// Provided method
fn divide(&self, rhs: &Self, divide_type: DivideType) -> Result<Self> { ... }
}
Expand description
A semiring is said to be divisible if all non-0 elements admit an inverse,
that is if S-{0}
is a group.
(S, +, *, 0, 1)
is said to be weakly divisible if
for any x
and y
in S
such that x + y != 0
,
there exists at least one z
such that x = (x+y)*z
.
For more information : https://cs.nyu.edu/~mohri/pub/hwa.pdf
Required Methods§
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
Provided Methods§
fn divide(&self, rhs: &Self, divide_type: DivideType) -> Result<Self>
Object Safety§
This trait is not object safe.