#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