#include <sent/stddefs.h>
#include <sent/ptree.h>
Include dependency graph for aptree.c:

Go to the source code of this file.
Functions | |
| static APATNODE * | new_node () | 
| static int | testbit_local (int bitplace) | 
| static void * | aptree_search_data_r (APATNODE *node) | 
| void * | aptree_search_data (char *str, APATNODE *node) | 
| APATNODE * | aptree_make_root_node (void *data) | 
| static void | aptree_add_entry_at (char *str, int bitloc, void *data, APATNODE **parentlink) | 
| void | aptree_add_entry (char *str, void *data, char *matchstr, APATNODE **rootnode) | 
| static void | aptree_remove_entry_r (APATNODE *now, APATNODE *up, APATNODE *up2) | 
| void | aptree_remove_entry (char *str, APATNODE **rootnode) | 
| void | aptree_traverse_and_do (APATNODE *node, void(*callback)(void *)) | 
| void | free_aptree (APATNODE *node) | 
Variables | |
| static char * | tmp_str | 
| Local work area: current string we are searching for.  | |
| static int | maxbitplace | 
| Local work area: Maximum bit length of tmp_str.  | |
| static APATNODE * | tmproot | 
| Work area to hold current root node for removing entry.  | |
Definition in file aptree.c.
| static APATNODE* new_node | ( | ) |  [static] | 
        
Allocate a new node.
Definition at line 34 of file aptree.c.
Referenced by aptree_add_entry_at(), aptree_make_root_node(), make_ptree(), ptree_add_entry_at(), and ptree_make_root_node().
| static int testbit_local | ( | int | bitplace | ) |  [static] | 
        
Local bit test function for search.
| bitplace | [in] bit place to test. | 
Definition at line 57 of file aptree.c.
Referenced by aptree_remove_entry_r(), aptree_search_data_r(), and ptree_search_data_r().
| static void* aptree_search_data_r | ( | APATNODE * | node | ) |  [static] | 
        
Recursive function to search the data in the tree
| node | [in] current node. | 
Definition at line 81 of file aptree.c.
Referenced by aptree_search_data().
| void* aptree_search_data | ( | char * | str, | |
| APATNODE * | node | |||
| ) | 
Search for the data whose key string matches the given string.
| str | [in] search key string | |
| node | [in] root node of index tree | 
Definition at line 103 of file aptree.c.
Referenced by add_to_error(), cdset_lookup(), codebook_add(), codebook_lookup(), dens_add(), dens_lookup(), hmm_add_physical_to_logical(), hmm_add_pseudo_phones_sub(), htk_hmmdata_add(), htk_hmmdata_lookup_logical(), htk_hmmdata_lookup_physical(), make_hmm_basephone_list(), mark_word_edge(), new_str2phseq(), rdhmmlist(), regist_cdset(), remove_cdset(), state_add(), state_lookup(), trans_add(), trans_lookup(), var_add(), and var_lookup().
| APATNODE* aptree_make_root_node | ( | void * | data | ) | 
Make a root node of a index tree.
| data | [in] the first data | 
Definition at line 125 of file aptree.c.
Referenced by add_to_error(), aptree_add_entry(), codebook_add(), dens_add(), hmm_add_physical_to_logical(), hmm_add_pseudo_phones_sub(), htk_hmmdata_add(), make_hmm_basephone_list(), rdhmmlist(), regist_cdset(), state_add(), trans_add(), and var_add().
| static void aptree_add_entry_at | ( | char * | str, | |
| int | bitloc, | |||
| void * | data, | |||
| APATNODE ** | parentlink | |||
| ) |  [static] | 
        
Insert a new node to the existing index tree.
| str | [in] new key string | |
| bitloc | [in] bit branch to which this node will be added | |
| data | [in] new data pointer | |
| parentlink | [i/o] the parent node to which this node will be added | 
Definition at line 143 of file aptree.c.
Referenced by aptree_add_entry().
| void aptree_add_entry | ( | char * | str, | |
| void * | data, | |||
| char * | matchstr, | |||
| APATNODE ** | rootnode | |||
| ) | 
Insert a new node to the index tree.
| str | [in] new key string | |
| data | [in] new data pointer | |
| matchstr | [in] the most matching data already exist in the index tree, as obtained by aptree_search_data() | |
| rootnode | [i/o] pointer to root index node | 
Definition at line 183 of file aptree.c.
Referenced by add_to_error(), codebook_add(), dens_add(), hmm_add_physical_to_logical(), hmm_add_pseudo_phones_sub(), htk_hmmdata_add(), make_hmm_basephone_list(), rdhmmlist(), regist_cdset(), state_add(), trans_add(), and var_add().
Recursive sunction to find and remove an entry.
| now | [in] current node | |
| up | [in] parent node | |
| up2 | [in] parent parent node | 
Definition at line 208 of file aptree.c.
Referenced by aptree_remove_entry().
| void aptree_remove_entry | ( | char * | str, | |
| APATNODE ** | rootnode | |||
| ) | 
Remove a node from the index tree.
| str | [in] existing key string (must exist in the index tree) | |
| rootnode | [i/o] pointer to root index node | 
Definition at line 254 of file aptree.c.
Referenced by remove_cdset().
| void aptree_traverse_and_do | ( | APATNODE * | node, | |
| void(*)(void *) | callback | |||
| ) | 
Recursive function to traverse index tree and execute the callback for all the existing data.
| node | [in] current node | |
| callback | [in] callback function | 
Definition at line 276 of file aptree.c.
Referenced by aptree_traverse_and_do(), count_all_phone(), free_cdset(), list_error(), print_all_basephone_detail(), print_all_basephone_name(), put_all_cdinfo(), test_interword_triphone(), triphone_callback_left(), and wt_tmix().
| void free_aptree | ( | APATNODE * | node | ) | 
Free all the sub nodes from specified node.
| node | [in] current node. | 
Definition at line 296 of file aptree.c.
Referenced by free_aptree(), free_cdset(), and hmminfo_free().
 1.5.0