49 using Label = int16_t;
50 using Weight = ProductWeight<TropicalWeight, LogWeight>;
51 using StateId = int64_t;
53 CustomArc(Label i, Label o, Weight w, StateId s)
54 : ilabel(i), olabel(o), weight(w), nextstate(s) {}
55 CustomArc() =
default;
57 static const std::string &Type() {
58 static const std::string *
const type =
new std::string(
"my");
71 CompactArcFst<StdArc, TrivialArcCompactor<StdArc>>>
72 CompactFst_StdArc_TrivialCompactor_registerer;
74 CompactArcFst<CustomArc, TrivialArcCompactor<CustomArc>>>
75 CompactFst_CustomArc_TrivialCompactor_registerer;
77 ConstFst_StdArc_uint16_registerer;
79 CompactArcFst<StdArc, TrivialArcCompactor<StdArc>, uint16_t>>
80 CompactFst_StdArc_TrivialCompactor_uint16_registerer;
82 CompactFst_StdArc_CustomCompactor_registerer;
85 CompactFst_CustomArc_CustomCompactor_registerer;
102 int main(
int argc,
char **argv) {
103 SetFlag(&FST_FLAGS_fst_verify_properties,
true);
106 LOG(INFO) <<
"Testing VectorFst<StdArc>.";
108 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
114 std_vector_tester.
TestIO();
118 LOG(INFO) <<
"Testing empty StdVectorFst.";
125 empty_tester.
TestIO(empty_fst);
134 LOG(INFO) <<
"Testing ConstFst<StdArc>.";
140 std_const_tester.
TestIO();
143 LOG(INFO) <<
"Testing CompactArcFst<StdArc, TrivialArcCompactor<StdArc>>.";
150 std_compact_tester.
TestIO();
153 LOG(INFO) <<
"Testing CompactFst<StdArc, TrivialArcCompactor<StdArc>>.";
155 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
157 std_compact_tester(num_states);
161 std_compact_tester.
TestIO();
164 LOG(INFO) <<
"Testing empty CompactFst.";
172 empty_tester.
TestIO(empty_fst);
183 std_vector_tester.
TestIO();
193 std_const_tester.
TestIO();
198 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
200 std_compact_tester(num_states);
204 std_compact_tester.
TestIO();
212 const CompactArcFst<CustomArc, CustomCompactor<CustomArc>> empty_fst;
216 empty_tester.
TestIO(empty_fst);
222 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
224 std_compact_tester(num_states);
228 std_compact_tester.
TestIO();
240 std_const_tester.
TestIO();
250 std_compact_tester.
TestIO();
271 std::cout <<
"PASS" << std::endl;
void TestExpanded(const G &fst) const
void TestIO(const G &fst) const
ArcTpl< TropicalWeight > StdArc
void TestAssign(const G &fst) const
#define SET_FLAGS(usage, argc, argv, rmflags)
void TestCopy(const G &fst) const
CompactFst< Arc, CompactArcCompactor< ArcCompactor, Unsigned, CompactStore >, CacheStore > CompactArcFst
int main(int argc, char **argv)
void TestMutable(G *fst) const
void SetFlag(Type *flag, Value value)
REGISTER_FST(PhiFst, StdArc)
void TestBase(const G &fst) const
MatcherFst< ConstFst< StdArc >, ArcLookAheadMatcher< SortedMatcher< ConstFst< StdArc >>>, arc_lookahead_fst_type > StdArcLookAheadFst