Skip to content

Releases: garvys-org/rustfst

rustfst-v0.7.3

12 May 08:34
Compare
Choose a tag to compare

rustfst-v0.7.2

12 May 08:34
Compare
Choose a tag to compare

What's Changed

Full Changelog: rustfst-v0.7.1...rustfst-v0.7.2

rustfst-v0.7.1

12 May 08:34
Compare
Choose a tag to compare

What's Changed

  • Clippy improvements by @Garvys in #131
  • Make acceptor_minimize public by @hdlj in #133
  • Implement convertion between Vec and TrsVec by @hdlj in #135
  • Make from_op_and_cache function on LazyFst and LazyFst2 public by @hdlj in #136
  • Make QuantizeMapper configurable by @hdlj in #137
  • Extend the CacheStatus API by @hdlj in #138
  • Implementation of some traits for their Deref counterparts. by @hdlj in #139
  • Extend prelude re-export by @hdlj in #140
  • Fix RmEpsilon by @Garvys in #134
  • Make NO_LABEL and NO_STATE_ID public by @hdlj in #143
  • Fix determinize by @Garvys in #144
  • Make proptest FST public by @hdlj in #141
  • use borrow to make deterministic generic over fst pointer type by @kali in #142
  • Allow Composition of Lazy Fsts by @Garvys in #145
  • ComposeFst clonable if possible by @Garvys in #146
  • Compose borrow by @kali in #148
  • revisit proptest a bit, add timeout and correctness tests on minimize by @kali in #149
  • Optimize + several fixes by @Garvys in #150
  • default symtable should have epsilon by @kali in #151
  • SymbolTable improvements by @Garvys in #152

Full Changelog: rustfst-v0.6.3...rustfst-v0.7.1

rustfst-v0.6.3

12 May 08:33
Compare
Choose a tag to compare

What's Changed

  • Add SimpleVecCache and use it by default in composition by @Garvys in #130

Full Changelog: rustfst-v0.6.2...rustfst-v0.6.3

rustfst-v0.6.2

12 May 08:33
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: rustfst-v0.5.0...rustfst-v0.6.2

rustfst-v0.5.0

04 Feb 13:53
Compare
Choose a tag to compare

Added

  • Add FstIterator and FstIteratorMut to iterate over states and arcs in a given FST without referencing the FST.
  • Implement FstIterator and FstIteratorMut for ConstFst and VectorFst.
  • Add AllocableFst to control the wFst allocation: capacity, reserve, shrink_to_fit
  • Implement AllocableFst for Vector Fst
  • Add del_all_states method in the MutableFst trait to remove all the states in a Fst.
  • Add set_input_symbols() and set_output_symbols() to the MutableFst trait to attach a SymbolTable to an Fst.
  • Add input_symbols() and output_symbols() to the Fst trait to retrieve previously attached SymbolTable.
  • Add replace fst operations.
  • Change internal implementation of Replace, Determinize and FactorWeight to share more code by creating the trait FstImpl and the struct StateTable.
  • Implement/Derive Clone/PartialEq/PartialOrd/Debug for all internal structures when possible.
  • Added dynamic versions of some algorithms:
    • replace -> ReplaceFst
    • factor_weight -> FactorWeightFst
    • union -> UnionFst
    • concat -> ConcatFst
    • closure -> ClosureFst
    • rmepsilon -> RmEpsilonFst
  • Added delete_final_weight_unchecked to the Fst trait and implement it for VectorFst.
  • Added SerializableSemiring trait and implement it for most Semirings.
  • All Fst that implements SerializableFst with a Semiring implementing SerializableSemiring can now be serialized/deserialized consistently with OpenFst.
  • Added arc_type() method to rustfst::Arc.
  • Added write and read method to the SymbolTable API to serialize and deserialize SymbolTable in binary format consistently with OpenFst.
  • Added unset_input_symbols and unset_output_symbols methods to remove the symbol tables attached to a mutable fst.
  • Added emplace_arc and emplace_arc_unchecked as provided methods to the MutableFst trait.
  • Added set_symts_from_fst to MutableFst trait to copy the SymbolTable from another Fst.
  • Added print_weights field to DrawingConfig to avoid print weights when desired.

Changed

  • Make KDELTA public outside of the crate
  • Fix serialization into a DOT file by putting the label into quotes.
  • Remove reserve API from MutableFst, see AllocableFst for this API
  • Remove Fst trait bound on Display.
  • Removed closure_plus and closure_star in favor of closure with a ClosureType parameter.
  • Fixed bugs in concat, union and closure.
  • factor_weight now takes as input a type implementing Borrow instead of &fst.
  • replace now takes as input a vector of types implementing Borrow instead of fst.
  • Parse FstFlags when parsing binary ConstFst and VectorFst. Raise an error if the file contains a SymbolTable. Not yet supported.
  • Remove TextParser, BinarySerializer and BinaryDeserializer traits. Add SerializableFst in replacement.
  • Fix: when serializing an Fst, now uses the result of the arc_type() method instead of using an hardcoded value.
  • Display is no longer a trait bound of Semiring. However, it is required to implement SerializableSemiring.
  • Use BufWriter when serializing a SymbolTable object increasing the serialization speed.
  • Fix bug when the parsing of fst in binary format crashed because a symbol table was attached to the fst. The symbol tables are now retrieved directly from the fst file.
  • plus and times methods of Semiring now takes a Borrow instead of an AsRef. Remove trait bounds on AsRef<Self>, Default and Sized.
  • Add checks on fst_type and arc_type when loading a binary fst. As a result, for instance, loading a ConstFst with a VectorFst file will trigger a nice error.
  • SymbolTable attached to an Fst are now used when drawing it.
  • Change parameter from W to Into for add_arc, set_final_unchecked and set_final methods.
  • MutableFst now has a trait bound on ExpandedFst.
  • DrawingConfig parameters size, ranksep and nodesep are now optional.
  • Fix SymbolTable conservation for Reverse and ShortestPath.
  • RmEpsilon now mutates its input.
  • dfs_visit now accepts an ArcFilter to be able to skip some arcs.
  • AutoQueue and TopOrderQueue now take an ArcFilter in input.
  • Remove Fst trait bound on Clone and PartialEq. However this is mandatory to be an ExpandedFst.
  • rmepsilon no longer requires the Semiring to be a StarSemiring.
  • Revamped RmEpsilon and ShortestDistance implementations in order to be closer to OpenFst's one.