[−][src]Trait rustfst::semirings::WeaklyDivisibleSemiring
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>
Implementors
impl WeaklyDivisibleSemiring for LogWeight
[src]
fn divide_assign(&mut self, rhs: &Self, _divide_type: DivideType) -> Result<()>
[src]
impl WeaklyDivisibleSemiring for ProbabilityWeight
[src]
fn divide_assign(&mut self, rhs: &Self, _divide_type: DivideType) -> Result<()>
[src]
impl WeaklyDivisibleSemiring for StringWeightLeft
[src]
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl WeaklyDivisibleSemiring for StringWeightRestrict
[src]
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl WeaklyDivisibleSemiring for StringWeightRight
[src]
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl WeaklyDivisibleSemiring for TropicalWeight
[src]
fn divide_assign(&mut self, rhs: &Self, _divide_type: DivideType) -> Result<()>
[src]
impl<W1, W2> WeaklyDivisibleSemiring for ProductWeight<W1, W2> where
W1: WeaklyDivisibleSemiring,
W2: WeaklyDivisibleSemiring,
[src]
W1: WeaklyDivisibleSemiring,
W2: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W> WeaklyDivisibleSemiring for GallicWeight<W> where
W: WeaklyDivisibleSemiring,
[src]
W: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W> WeaklyDivisibleSemiring for GallicWeightLeft<W> where
W: WeaklyDivisibleSemiring,
[src]
W: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W> WeaklyDivisibleSemiring for GallicWeightMin<W> where
W: WeaklyDivisibleSemiring,
[src]
W: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W> WeaklyDivisibleSemiring for GallicWeightRestrict<W> where
W: WeaklyDivisibleSemiring,
[src]
W: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W> WeaklyDivisibleSemiring for GallicWeightRight<W> where
W: WeaklyDivisibleSemiring,
[src]
W: WeaklyDivisibleSemiring,
fn divide_assign(&mut self, rhs: &Self, divide_type: DivideType) -> Result<()>
[src]
impl<W, O> WeaklyDivisibleSemiring for UnionWeight<W, O> where
W: WeaklyDivisibleSemiring,
O: UnionWeightOption<W>,
[src]
W: WeaklyDivisibleSemiring,
O: UnionWeightOption<W>,