[][src]Trait rustfst::algorithms::WeightConverter

pub trait WeightConverter<SI: Semiring, SO: Semiring> {
    fn tr_map(&mut self, tr: &Tr<SI>) -> Result<Tr<SO>>;
fn final_tr_map(&mut self, final_tr: &FinalTr<SI>) -> Result<FinalTr<SO>>;
fn final_action(&self) -> MapFinalAction;
fn properties(&self, iprops: FstProperties) -> FstProperties; }

The WeightConverter interfaces defines how a weight should be turned into another one. Useful for changing the semiring of an FST.

Required methods

fn tr_map(&mut self, tr: &Tr<SI>) -> Result<Tr<SO>>

fn final_tr_map(&mut self, final_tr: &FinalTr<SI>) -> Result<FinalTr<SO>>

fn final_action(&self) -> MapFinalAction

fn properties(&self, iprops: FstProperties) -> FstProperties

Loading content...

Implementors

impl<S> WeightConverter<S, S> for IdentityTrMapper where
    S: Semiring
[src]

impl<S> WeightConverter<S, S> for InputEpsilonMapper where
    S: Semiring
[src]

impl<S> WeightConverter<S, S> for InvertWeightMapper where
    S: WeaklyDivisibleSemiring
[src]

impl<S> WeightConverter<S, S> for OutputEpsilonMapper where
    S: Semiring
[src]

impl<S> WeightConverter<S, S> for PlusMapper<S> where
    S: Semiring
[src]

impl<S> WeightConverter<S, S> for QuantizeMapper where
    S: WeightQuantize
[src]

impl<S> WeightConverter<S, S> for RmWeightMapper where
    S: Semiring
[src]

impl<S> WeightConverter<S, S> for TimesMapper<S> where
    S: Semiring
[src]

impl<SI, SO> WeightConverter<SI, SO> for SimpleWeightConverter where
    SI: Semiring,
    SO: Semiring<Type = SI::Type>, 
[src]

impl<W> WeightConverter<W, GallicWeight<W>> for ToGallicConverter where
    W: Semiring
[src]

impl<W> WeightConverter<W, GallicWeightLeft<W>> for ToGallicConverter where
    W: Semiring
[src]

impl<W> WeightConverter<W, GallicWeightMin<W>> for ToGallicConverter where
    W: Semiring
[src]

impl<W> WeightConverter<W, GallicWeightRestrict<W>> for ToGallicConverter where
    W: Semiring
[src]

impl<W> WeightConverter<W, GallicWeightRight<W>> for ToGallicConverter where
    W: Semiring
[src]

impl<W: Semiring> WeightConverter<GallicWeight<W>, W> for FromGallicConverter[src]

impl<W: Semiring> WeightConverter<GallicWeightLeft<W>, W> for FromGallicConverter[src]

impl<W: Semiring> WeightConverter<GallicWeightMin<W>, W> for FromGallicConverter[src]

impl<W: Semiring> WeightConverter<GallicWeightRestrict<W>, W> for FromGallicConverter[src]

impl<W: Semiring> WeightConverter<GallicWeightRight<W>, W> for FromGallicConverter[src]

Loading content...