"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "include/ling_class/EST_Relation_tree.h" between
speech_tools-2.4-release.tar.gz and speech_tools-2.5.0-release.tar.gz

About: The speech_tools - Edinburgh Speech Tools Library (used by the Festival Speech Synthesis System).

EST_Relation_tree.h  (speech_tools-2.4-release):EST_Relation_tree.h  (speech_tools-2.5.0-release)
skipping to change at line 51 skipping to change at line 51
*/ */
//@{ //@{
/**@name Tree traversal functions /**@name Tree traversal functions
*/ */
//@{ //@{
/// return parent of <parameter>n</parameter> /// return parent of <parameter>n</parameter>
inline EST_Item *parent(const EST_Item *n) { return n->first()->up(); } inline EST_Item *parent(const EST_Item *n) { return iup(first(n)); }
/// return first daughter of <parameter>n</parameter> /// return first daughter of <parameter>n</parameter>
inline EST_Item *daughter1(const EST_Item *n) { return n->down(); } inline EST_Item *daughter1(const EST_Item *n) { return idown(n); }
/// return second daughter of <parameter>n</parameter> /// return second daughter of <parameter>n</parameter>
inline EST_Item *daughter2(const EST_Item *n) { return n->down()->next(); } inline EST_Item *daughter2(const EST_Item *n) { return inext(idown(n)); }
/// return nth daughter of <parameter>n</parameter> /// return nth daughter of <parameter>n</parameter>
EST_Item *daughtern(const EST_Item *n, int nth); EST_Item *daughtern(const EST_Item *n, int nth);
/// return last daughter of <parameter>n</parameter> /// return last daughter of <parameter>n</parameter>
inline EST_Item *daughtern(const EST_Item *n) { return n->down()->last(); } inline EST_Item *daughtern(const EST_Item *n) { return last(idown(n)); }
/// return next sibling (sister) of <parameter>n</parameter> /// return next sibling (sister) of <parameter>n</parameter>
inline EST_Item *next_sibling(const EST_Item *n) { return n->next(); } inline EST_Item *next_sibling(const EST_Item *n) { return inext(n); }
/// return previous sibling (sister) of <parameter>n</parameter> /// return previous sibling (sister) of <parameter>n</parameter>
inline EST_Item *prev_sibling(const EST_Item *n) { return n->prev(); } inline EST_Item *prev_sibling(const EST_Item *n) { return iprev(n); }
/// return root node of treeprevious sibling (sister) of <parameter>n</parameter > /// return root node of treeprevious sibling (sister) of <parameter>n</parameter >
inline EST_Item *root(const EST_Item *n) { return n->top(); } inline EST_Item *root(const EST_Item *n) { return top(n); }
/** return parent of <parameter>n</parameter> as seen from relation /** return parent of <parameter>n</parameter> as seen from relation
<parameter>relname</parameter> */ <parameter>relname</parameter> */
inline EST_Item *parent(const EST_Item *n,const char *relname) inline EST_Item *parent(const EST_Item *n,const char *relname)
{ return parent(as(n,relname)); } { return parent(as(n,relname)); }
//inline EST_Item *daughters(const EST_Item *n,const char *relname) //inline EST_Item *daughters(const EST_Item *n,const char *relname)
// { return daughters(as(n,relname)); } // { return daughters(as(n,relname)); }
/** return first daughter of <parameter>n</parameter> as seen from relation /** return first daughter of <parameter>n</parameter> as seen from relation
skipping to change at line 118 skipping to change at line 118
relation <parameter>relname</parameter> */ relation <parameter>relname</parameter> */
inline EST_Item *root(const EST_Item *n,const char *relname) inline EST_Item *root(const EST_Item *n,const char *relname)
{ return root(as(n,relname)); } { return root(as(n,relname)); }
// should be deleted. // should be deleted.
EST_Item *first_leaf_in_tree(const EST_Item *root); EST_Item *first_leaf_in_tree(const EST_Item *root);
// should be deleted. // should be deleted.
EST_Item *last_leaf_in_tree(const EST_Item *root); EST_Item *last_leaf_in_tree(const EST_Item *root);
/** return the first leaf (terminal node) which is dominated by
<parameter>n</parameter>. Note that this is different from daughter1 etc
as this descends the tree to find the leftmost terminal node (it
is like the transitive closure of daughter1).
*/
inline EST_Item *first_leaf(const EST_Item *n) {return first_leaf_in_tree(n);}
/** return the last leaf (terminal node) which is dominated by
<parameter>n</parameter>. Note that this is different from daughter1 etc
as this descends the tree to find the right terminal node (it is
like the transitive closure of daughtern).
*/
inline EST_Item *last_leaf(const EST_Item *n) { return last_leaf_in_tree(n); }
/** Return next leaf in tree given <parameter>n</parameter>. If
<parameter>n</parameter> is a terminal node, next_leaf() will return
the next leaf in the tree. If <parameter>n</parameter> is not
terminal, this will return the leftmost terminal node dominated by
<parameter>n</parameter>. This will return 0 only when the last leaf in
the relation has been passed.
*/
inline EST_Item *next_leaf(const EST_Item *n) { return n->next_leaf(); }
/** Return number of leaves (terminal nodes) under <parameter>n</parameter> /** Return number of leaves (terminal nodes) under <parameter>n</parameter>
*/ */
int num_leaves(const EST_Item *n); int num_leaves(const EST_Item *n);
/** Given a node <parameter>t</parameter>, return true if /** Given a node <parameter>t</parameter>, return true if
<parameter>c</parameter> is under it in a tree */ <parameter>c</parameter> is under it in a tree */
int in_tree(const EST_Item *c,const EST_Item *t); int in_tree(const EST_Item *c,const EST_Item *t);
//@} //@}
 End of changes. 8 change blocks. 
30 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)