<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>class EST_WFST</TITLE> <META NAME="GENERATOR" CONTENT="DOC++ 3.4.6"> </HEAD> <body bgcolor="#ffffff" link="#0000ff" vlink="#dd0000" text="#000088" alink="9000ff"> <A HREF = "http://www.cstr.ed.ac.uk/"> <IMG align=left BORDER=0 SRC = "cstr.gif"></A> <A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html"> <IMG BORDER=0 ALIGN=right SRC="est.jpg" width=150 height=93></A> <br> <br clear=left> <p align=right> In file ../include/EST_WFST.h:<TABLE BORDER=0><TR> <TD VALIGN=TOP><H2>class <A HREF="#DOC.DOCU">EST_WFST</A></H2></TD></H2></TD></TR></TABLE> <BLOCKQUOTE>a call representing a weighted finite-state transducer</BLOCKQUOTE> <HR> <DL> <P><TABLE> <DT><H3>Public Methods</H3><DD><TR> <TD VALIGN=TOP><A HREF="#DOC.118.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Reseting functions </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>init</B> (int init_num_states=10)<BR> <I>Clear with (estimation of number of states required)</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>init</B> (LISP in, LISP out)<BR> <I>clear an initialise with given input and out alphabets</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>copy</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_SCFG_Chart.html#DOC.110.5">wfst</A>)<BR> <I>Copy from existing wfst</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.2.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>clear</B> ()<BR> <I>clear removing existing states if any</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>General utility functions </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>in_symbol</B> (const <!1><A HREF="EST_String.html">EST_String</A> &s) const <BR> <I>Map input symbol to input alphabet index</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_String.html">EST_String</A>& </TD><TD><B>in_symbol</B> (int i) const <BR> <I>Map input alphabet index to input symbol</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>out_symbol</B> (const <!1><A HREF="EST_String.html">EST_String</A> &s) const <BR> <I>Map output symbol to output alphabet index</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_String.html">EST_String</A>& </TD><TD><B>out_symbol</B> (int i) const <BR> <I>Map output alphabet index to output symbol </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>LISP </TD><TD><B>epsilon_label</B> () const <BR> <I>LISP for on epsilon symbols</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>in_epsilon</B> () const <BR> <I>Internal index for input epsilon</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>out_epsilon</B> () const <BR> <I>Internal index for output epsilon</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="EST_WFST_State.html">EST_WFST_State</A>* </TD><TD><B>state</B> (int i) const <BR> <I>Return internal state information</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.3.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>final</B> (int i) const <BR> <I>True if state <TT>i</TT> is final</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>transduction functions </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>transition</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out) const <BR> <I>Find (first) new state given in and out symbols</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_WFST_Transition.html">EST_WFST_Transition</A>* </TD><TD><B>find_transition</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out) const <BR> <I>Find (first) transition given in and out symbols</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>transition</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &in, const <!1><A HREF="EST_String.html">EST_String</A> &out) const <BR> <I>Find (first) new state given in and out strings</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>transition</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &inout) const <BR> <I>Find (first) new state given in/out string</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>transduce</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int &out) const <BR> <I>Transduce in to out from state</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>transduce</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &in, <!1><A HREF="EST_String.html">EST_String</A> &out) const <BR> <I>Transduce in to out (strings) from state</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>transduce</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, wfst_translist &out) const <BR> <I>Transduce in to list of transitions</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.5.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>transition_all</B> (int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out, <!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const <BR> <I>Find all possible transitions for given state/input/output</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Cumulation functions for adding collective probabilities</B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>cumulate</B> () const <BR> <I>Cumulation condition</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>start_cumulate</B> ()<BR> <I>Clear and start cumulation</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.6.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>stop_cumulate</B> ()<BR> <I>Stop cumulation and calculate probabilities on transitions</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>WFST construction functions from external represenations *</B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.7.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>add_state</B> (enum wfst_state_type state_type)<BR> <I>Add a new state, returns new name</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.7.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum wfst_state_type </TD><TD><B>ms_type</B> (<!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const <BR> <I>Given a multi-state return type (final, ok, error)</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.7.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>build_wfst</B> (int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP regex)<BR> <I>Basic regex constructor</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.7.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>build_and_transition</B> (int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP conjunctions)<BR> <I>Basic conjunction constructor</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.7.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>build_or_transition</B> (int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP disjunctions)<BR> <I>Basic disjunction constructor</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>Basic WFST operators </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>determinize</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I>Build determinized form of a</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>minimize</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I>Build minimized form of a</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>complement</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I>Build complement of a</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>intersection</B> (<!1><A HREF="EST_TList.html">EST_TList</A><<!1><A HREF="EST_WFST.html">EST_WFST</A>> &wl)<BR> <I>Build intersection of all WFSTs in given list.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>intersection</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)<BR> <I>Build intersection of WFSTs a and b The new WFST recognizes the only the strings that are recognized by both a and b list </I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>uunion</B> (<!1><A HREF="EST_TList.html">EST_TList</A><<!1><A HREF="EST_WFST.html">EST_WFST</A>> &wl)<BR> <I>Build union of all WFSTs in given list.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>uunion</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)<BR> <I>Build union of WFSTs a and b.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>compose</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)<BR> <I>Build new WFST by composition of a and b.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>difference</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)<BR> <I>Build WFST that accepts only strings in a that aren't also accepted by strings in b.</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.8.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>concat</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)<BR> <I>Build WFST that accepts a language that consists of any string in a followed by any string in b *</I> </TD></TR></TABLE></P> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> </TD><TD><B>construction support fuctions </B> <BR> <I></I> <P><TABLE> <TR> <TD VALIGN=TOP><A HREF="#DOC.118.9.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int </TD><TD><B>deterministic</B> () const <BR> <I>True if WFST is deterministic</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.9.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* </TD><TD><B>apply_multistate</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_SCFG_Chart.html#DOC.110.5">wfst</A>, <!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms, int in, int out) const <BR> <I>Transduce a multi-state given n and out</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.9.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>add_epsilon_reachable</B> (<!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const <BR> <I>Extend multi-state with epsilon reachable states</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.9.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void </TD><TD><B>remove_error_states</B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I>Remove error states from the WFST</I> </TD></TR><TR> <TD VALIGN=TOP><A HREF="#DOC.118.9.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="EST_WFST.html">EST_WFST</A>& </TD><TD><B>operator = </B> (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)<BR> <I></I> </TD></TR></TABLE></P> </TD></TR></TABLE></P> </DL> <A NAME="DOC.DOCU"></A> <HR> <H2>Documentation</H2> <BLOCKQUOTE>a call representing a weighted finite-state transducer</BLOCKQUOTE> <DL> <A NAME="Constructor and initialisation functions "></A> <A NAME="DOC.118.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Constructor and initialisation functions </B></TT> <DL><DT><DD></DL><P> <A NAME="Reseting functions "></A> <A NAME="DOC.118.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Reseting functions </B></TT> <DL><DT><DD></DL><P><DL> <A NAME="init"></A> <A NAME="DOC.118.2.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init(int init_num_states=10)</B></TT> <DD>Clear with (estimation of number of states required) <DL><DT><DD></DL><P> <A NAME="init"></A> <A NAME="DOC.118.2.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init(LISP in, LISP out)</B></TT> <DD>clear an initialise with given input and out alphabets <DL><DT><DD></DL><P> <A NAME="copy"></A> <A NAME="DOC.118.2.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copy(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_SCFG_Chart.html#DOC.110.5">wfst</A>)</B></TT> <DD>Copy from existing wfst <DL><DT><DD></DL><P> <A NAME="clear"></A> <A NAME="DOC.118.2.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void clear()</B></TT> <DD>clear removing existing states if any <DL><DT><DD></DL><P></DL> <A NAME="General utility functions "></A> <A NAME="DOC.118.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> General utility functions </B></TT> <DL><DT><DD></DL><P><DL> <A NAME="in_symbol"></A> <A NAME="DOC.118.3.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int in_symbol(const <!1><A HREF="EST_String.html">EST_String</A> &s) const </B></TT> <DD>Map input symbol to input alphabet index <DL><DT><DD></DL><P> <A NAME="in_symbol"></A> <A NAME="DOC.118.3.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_String.html">EST_String</A>& in_symbol(int i) const </B></TT> <DD>Map input alphabet index to input symbol <DL><DT><DD></DL><P> <A NAME="out_symbol"></A> <A NAME="DOC.118.3.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int out_symbol(const <!1><A HREF="EST_String.html">EST_String</A> &s) const </B></TT> <DD>Map output symbol to output alphabet index <DL><DT><DD></DL><P> <A NAME="out_symbol"></A> <A NAME="DOC.118.3.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_String.html">EST_String</A>& out_symbol(int i) const </B></TT> <DD>Map output alphabet index to output symbol <DL><DT><DD></DL><P> <A NAME="epsilon_label"></A> <A NAME="DOC.118.3.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>LISP epsilon_label() const </B></TT> <DD>LISP for on epsilon symbols <DL><DT><DD></DL><P> <A NAME="in_epsilon"></A> <A NAME="DOC.118.3.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int in_epsilon() const </B></TT> <DD>Internal index for input epsilon <DL><DT><DD></DL><P> <A NAME="out_epsilon"></A> <A NAME="DOC.118.3.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int out_epsilon() const </B></TT> <DD>Internal index for output epsilon <DL><DT><DD></DL><P> <A NAME="state"></A> <A NAME="DOC.118.3.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="EST_WFST_State.html">EST_WFST_State</A>* state(int i) const </B></TT> <DD>Return internal state information <DL><DT><DD></DL><P> <A NAME="final"></A> <A NAME="DOC.118.3.9"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int final(int i) const </B></TT> <DD>True if state <TT>i</TT> is final <DL><DT><DD></DL><P></DL> <A NAME="file i/o "></A> <A NAME="DOC.118.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> file i/o </B></TT> <DL><DT><DD></DL><P> <A NAME="transduction functions "></A> <A NAME="DOC.118.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> transduction functions </B></TT> <DL><DT><DD></DL><P><DL> <A NAME="transition"></A> <A NAME="DOC.118.5.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int transition(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out) const </B></TT> <DD>Find (first) new state given in and out symbols <DL><DT><DD></DL><P> <A NAME="find_transition"></A> <A NAME="DOC.118.5.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_WFST_Transition.html">EST_WFST_Transition</A>* find_transition(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out) const </B></TT> <DD>Find (first) transition given in and out symbols <DL><DT><DD></DL><P> <A NAME="transition"></A> <A NAME="DOC.118.5.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int transition(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &in, const <!1><A HREF="EST_String.html">EST_String</A> &out) const </B></TT> <DD>Find (first) new state given in and out strings <DL><DT><DD></DL><P> <A NAME="transition"></A> <A NAME="DOC.118.5.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int transition(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &inout) const </B></TT> <DD>Find (first) new state given in/out string <DL><DT><DD></DL><P> <A NAME="transduce"></A> <A NAME="DOC.118.5.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int transduce(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int &out) const </B></TT> <DD>Transduce in to out from state <DL><DT><DD></DL><P> <A NAME="transduce"></A> <A NAME="DOC.118.5.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int transduce(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, const <!1><A HREF="EST_String.html">EST_String</A> &in, <!1><A HREF="EST_String.html">EST_String</A> &out) const </B></TT> <DD>Transduce in to out (strings) from state <DL><DT><DD></DL><P> <A NAME="transduce"></A> <A NAME="DOC.118.5.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void transduce(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, wfst_translist &out) const </B></TT> <DD>Transduce in to list of transitions <DL><DT><DD></DL><P> <A NAME="transition_all"></A> <A NAME="DOC.118.5.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void transition_all(int <!1><A HREF="EST_WFST.html#DOC.118.3.8">state</A>, int in, int out, <!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const </B></TT> <DD>Find all possible transitions for given state/input/output <DL><DT><DD></DL><P></DL> <A NAME="Cumulation functions for adding collective probabilities"></A> <A NAME="DOC.118.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Cumulation functions for adding collective probabilities</B></TT> <DD>for transitions from data <DL><DT><DD></DL><P><DL> <A NAME="cumulate"></A> <A NAME="DOC.118.6.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int cumulate() const </B></TT> <DD>Cumulation condition <DL><DT><DD></DL><P> <A NAME="start_cumulate"></A> <A NAME="DOC.118.6.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void start_cumulate()</B></TT> <DD>Clear and start cumulation <DL><DT><DD></DL><P> <A NAME="stop_cumulate"></A> <A NAME="DOC.118.6.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void stop_cumulate()</B></TT> <DD>Stop cumulation and calculate probabilities on transitions <DL><DT><DD></DL><P></DL> <A NAME="WFST construction functions from external represenations *"></A> <A NAME="DOC.118.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WFST construction functions from external represenations *</B></TT> <DL><DT><DD></DL><P><DL> <A NAME="add_state"></A> <A NAME="DOC.118.7.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int add_state(enum wfst_state_type state_type)</B></TT> <DD>Add a new state, returns new name <DL><DT><DD></DL><P> <A NAME="ms_type"></A> <A NAME="DOC.118.7.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum wfst_state_type ms_type(<!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const </B></TT> <DD>Given a multi-state return type (final, ok, error) <DL><DT><DD></DL><P> <A NAME="build_wfst"></A> <A NAME="DOC.118.7.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void build_wfst(int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP regex)</B></TT> <DD>Basic regex constructor <DL><DT><DD></DL><P> <A NAME="build_and_transition"></A> <A NAME="DOC.118.7.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void build_and_transition(int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP conjunctions)</B></TT> <DD>Basic conjunction constructor <DL><DT><DD></DL><P> <A NAME="build_or_transition"></A> <A NAME="DOC.118.7.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void build_or_transition(int <!1><A HREF="EST_Track.html#DOC.71.7.9">start</A>, int <!1><A HREF="EST_Wave.html#DOC.81.5.6">end</A>, LISP disjunctions)</B></TT> <DD>Basic disjunction constructor <DL><DT><DD></DL><P></DL> <A NAME="Basic WFST operators "></A> <A NAME="DOC.118.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Basic WFST operators </B></TT> <DL><DT><DD></DL><P><DL> <A NAME="determinize"></A> <A NAME="DOC.118.8.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void determinize(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DD>Build determinized form of a <DL><DT><DD></DL><P> <A NAME="minimize"></A> <A NAME="DOC.118.8.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void minimize(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DD>Build minimized form of a <DL><DT><DD></DL><P> <A NAME="complement"></A> <A NAME="DOC.118.8.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void complement(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DD>Build complement of a <DL><DT><DD></DL><P> <A NAME="intersection"></A> <A NAME="DOC.118.8.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void intersection(<!1><A HREF="EST_TList.html">EST_TList</A><<!1><A HREF="EST_WFST.html">EST_WFST</A>> &wl)</B></TT> <DD>Build intersection of all WFSTs in given list. The new WFST recognizes the only the strings that are recognized by all WFSTs in the given list <DL><DT><DD></DL><P> <A NAME="intersection"></A> <A NAME="DOC.118.8.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void intersection(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)</B></TT> <DD>Build intersection of WFSTs a and b The new WFST recognizes the only the strings that are recognized by both a and b list <DL><DT><DD></DL><P> <A NAME="uunion"></A> <A NAME="DOC.118.8.6"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void uunion(<!1><A HREF="EST_TList.html">EST_TList</A><<!1><A HREF="EST_WFST.html">EST_WFST</A>> &wl)</B></TT> <DD>Build union of all WFSTs in given list. The new WFST recognizes the only the strings that are recognized by at least one WFSTs in the given list <DL><DT><DD></DL><P> <A NAME="uunion"></A> <A NAME="DOC.118.8.7"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void uunion(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)</B></TT> <DD>Build union of WFSTs a and b. The new WFST recognizes the only the strings that are recognized by either a or b <DL><DT><DD></DL><P> <A NAME="compose"></A> <A NAME="DOC.118.8.8"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void compose(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)</B></TT> <DD>Build new WFST by composition of a and b. Outputs of a are fed to b, given a new WFSTs which has a's input language and b's output set. a's output and b's input alphabets must be the same <DL><DT><DD></DL><P> <A NAME="difference"></A> <A NAME="DOC.118.8.9"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void difference(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)</B></TT> <DD>Build WFST that accepts only strings in a that aren't also accepted by strings in b. <DL><DT><DD></DL><P> <A NAME="concat"></A> <A NAME="DOC.118.8.10"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void concat(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>, const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_TBuffer.html#DOC.101.5.12.1">b</A>)</B></TT> <DD>Build WFST that accepts a language that consists of any string in a followed by any string in b * <DL><DT><DD></DL><P></DL> <A NAME="construction support fuctions "></A> <A NAME="DOC.118.9"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> construction support fuctions </B></TT> <DL><DT><DD></DL><P><DL> <A NAME="deterministic"></A> <A NAME="DOC.118.9.1"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int deterministic() const </B></TT> <DD>True if WFST is deterministic <DL><DT><DD></DL><P> <A NAME="apply_multistate"></A> <A NAME="DOC.118.9.2"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* apply_multistate(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_SCFG_Chart.html#DOC.110.5">wfst</A>, <!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms, int in, int out) const </B></TT> <DD>Transduce a multi-state given n and out <DL><DT><DD></DL><P> <A NAME="add_epsilon_reachable"></A> <A NAME="DOC.118.9.3"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void add_epsilon_reachable(<!1><A HREF="EST_WFST_MultiState.html">EST_WFST_MultiState</A>* ms) const </B></TT> <DD>Extend multi-state with epsilon reachable states <DL><DT><DD></DL><P> <A NAME="remove_error_states"></A> <A NAME="DOC.118.9.4"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void remove_error_states(const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DD>Remove error states from the WFST <DL><DT><DD></DL><P> <A NAME="operator = "></A> <A NAME="DOC.118.9.5"></A> <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="EST_WFST.html">EST_WFST</A>& operator = (const <!1><A HREF="EST_WFST.html">EST_WFST</A> &<!1><A HREF="EST_Wave.html#DOC.81.4.1">a</A>)</B></TT> <DL><DT><DD></DL><P></DL> </DL> <HR><DL><DT><B>This class has no child classes.</B></DL> <DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR> <A HREF = "http://www.ed.ac.uk/"> <IMG align=right BORDER=0 SRC = "edcrest.gif"></A> <P Align=left><I>This page is part of the <A HREF="http://www.cstr.ed.ac.uk/projects/speech_tools.html"> Edinburgh Speech Tools Library</A> documentation <br> Copyright <A HREF="http://www.ed.ac.uk"> University of Edinburgh</A> 1997 <br> Contact: <A HREF="mailto:speech_toolss@cstr.ed.ac.uk"> speech_tools@cstr.ed.ac.uk </a> </P> <br clear=right>