fstequal(1)

🌸 NAME 🌸

fstequal β€” determine whether two FSTs are equal πŸ’…

Hiii bestie, welcome to fstequal(1), a User Commands page, and honestly? It does exactly what it says on the tin. Two FSTs walk in, one yes-or-no walks out. No drama, no small talk, just judgment. πŸ‘‘


✨ SYNOPSIS ✨

fstequal [OPTIONS] in1.fst in2.fst

Two files in, one vibe check out. That's the whole ritual. 🫢


πŸ’– DESCRIPTION πŸ’–

Determines whether two FSTs are equal. The exit status is zero for equal FSTs, and nonzero for unequal FSTs.

okay so plot twist: this program does not print anything cute for you. No "slay they match", no explanation, nothing. It speaks the ancient and noble language of exit statuses, because it is a good little Unix citizen like that. 🌈

  • exit status zero β†’ the two FSTs are equal βœ…
  • exit status nonzero β†’ they are not equal ❌

So like, if fstequal a.fst b.fst; then ... and you are basically done. Shell script main character energy, no cap. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

Quick lil house rule before we get into the list, because this part matters: Boolean options accept either true or false as a value, or the implicit value true if neither value is specified. So --fst_align on its own is literally the same energy as --fst_align=true. The vibes are generous. ✨

  • --delta=VALUE β€” set the comparison/quantization delta. Default: 0.000976562.
  • --fst_align[=BOOLEAN] β€” write FST data aligned where appropriate. Default: false.
  • --fst_compat_symbols[=BOOLEAN] β€” require symbol tables to match when appropriate. Default: true.
  • --fst_default_cache_gc[=BOOLEAN] β€” enable garbage collection of cache. Default: true.
  • --fst_default_cache_gc_limit=N β€” set the cache byte size that triggers garbage collection. Default: 1048576.
  • --fst_error_fatal[=BOOLEAN] β€” if true, FST errors are fatal. Otherwise, returned objects are flagged as bad. For example, FSTs are returned with the kError property set to true, and FST weights set so that Member() returns false. Default: true.
  • --fst_field_separator=STRING β€” set the characters used as a separator between printed fields. Default: " " (yes bestie, that default is a real string made of actual spaces β€” not an empty string, not a trimmed one, spaces, so watch out πŸ™ˆ).
  • --fst_read_mode=STRING β€” set the default file reading mode for mappable files, either "read" or "map". Default: "read".
  • --fst_verify_properties[=BOOLEAN] β€” verify fst properties queried by TestProperties. Default: false.
  • --fst_weight_parentheses=STRING β€” set the characters enclosing the first weight of a printed composite weight (e.g., pair weight, tuple weight, and derived classes) to ensure proper I/O of nested composite weights. Must have size 0 (none) or 2 (open and close parenthesis). Default: no parentheses.
  • --fst_weight_separator=CHARACTER β€” set the character separator between printed composite weights. Default: comma.
  • --help[=BOOLEAN] β€” show usage information. Default: false.
  • --helpshort[=BOOLEAN] β€” show brief usage information. Default: false.
  • --save_relabel_ipairs=FILENAME β€” save input relabel pairs to file. Default: do not save.
  • --save_relabel_opairs=FILENAME β€” save output relabel pairs to file. Default: do not save.
  • --tmpdir=PATHNAME β€” set the temporary directory to use. Default: /tmp.
  • --v[=N] β€” set the verbosity level. Default: 0.

πŸ¦‹ SEE ALSO πŸ¦‹

The whole friend group, because this tool runs with a huge crew and you should absolutely go meet them:


and that's the page, bestie πŸŽ€ this one came out of OpenFst 1.8.5, dated Mar 2026 β€” so go run fstequal, check that exit status, and let it be known that your FSTs are either identical or they are not. periodt. πŸ’œ

πŸ“¦ where this page comes from