47 using Label = int16_t;
48 using Weight = ProductWeight<TropicalWeight, LogWeight>;
49 using StateId = int64_t;
51 CustomArc(Label i, Label o, Weight w, StateId s)
52 : ilabel(i), olabel(o), weight(w), nextstate(s) {}
53 CustomArc() =
default;
55 static const std::string &Type() {
56 static const std::string *
const type =
new std::string(
"my");
69 CompactArcFst<StdArc, TrivialArcCompactor<StdArc>>>
70 CompactFst_StdArc_TrivialCompactor_registerer;
72 CompactArcFst<CustomArc, TrivialArcCompactor<CustomArc>>>
73 CompactFst_CustomArc_TrivialCompactor_registerer;
75 ConstFst_StdArc_uint16_registerer;
77 CompactArcFst<StdArc, TrivialArcCompactor<StdArc>, uint16_t>>
78 CompactFst_StdArc_TrivialCompactor_uint16_registerer;
80 CompactFst_StdArc_CustomCompactor_registerer;
83 CompactFst_CustomArc_CustomCompactor_registerer;
100 int main(
int argc,
char **argv) {
101 SetFlag(&FST_FLAGS_fst_verify_properties,
true);
104 LOG(INFO) <<
"Testing VectorFst<StdArc>.";
106 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
112 std_vector_tester.
TestIO();
116 LOG(INFO) <<
"Testing empty StdVectorFst.";
123 empty_tester.
TestIO(empty_fst);
132 LOG(INFO) <<
"Testing ConstFst<StdArc>.";
138 std_const_tester.
TestIO();
141 LOG(INFO) <<
"Testing CompactArcFst<StdArc, TrivialArcCompactor<StdArc>>.";
148 std_compact_tester.
TestIO();
151 LOG(INFO) <<
"Testing CompactFst<StdArc, TrivialArcCompactor<StdArc>>.";
153 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
155 std_compact_tester(num_states);
159 std_compact_tester.
TestIO();
162 LOG(INFO) <<
"Testing empty CompactFst.";
170 empty_tester.
TestIO(empty_fst);
181 std_vector_tester.
TestIO();
191 std_const_tester.
TestIO();
196 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
198 std_compact_tester(num_states);
202 std_compact_tester.
TestIO();
210 const CompactArcFst<CustomArc, CustomCompactor<CustomArc>> empty_fst;
214 empty_tester.
TestIO(empty_fst);
220 for (
const size_t num_states : {0, 1, 2, 3, 128}) {
222 std_compact_tester(num_states);
226 std_compact_tester.
TestIO();
238 std_const_tester.
TestIO();
248 std_compact_tester.
TestIO();
269 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