#include <sent/stddefs.h>
#include <sent/ptree.h>
Go to the source code of this file.
Functions | |
static APATNODE * | new_node (BMALLOC_BASE **mroot) |
Allocate a new node. | |
static void * | aptree_search_data_r (APATNODE *node, char *str, int maxbitplace) |
Recursive function to search the data in the tree. | |
void * | aptree_search_data (char *str, APATNODE *node) |
Search for the data whose key string matches the given string. | |
APATNODE * | aptree_make_root_node (void *data, BMALLOC_BASE **mroot) |
Make a root node of a index tree. | |
static void | aptree_add_entry_at (char *str, int slen, int bitloc, void *data, APATNODE **parentlink, BMALLOC_BASE **mroot) |
Insert a new node to the existing index tree. | |
void | aptree_add_entry (char *str, void *data, char *matchstr, APATNODE **rootnode, BMALLOC_BASE **mroot) |
Insert a new node to the index tree. | |
static void | aptree_remove_entry_r (APATNODE *now, APATNODE *up, APATNODE *up2, char *str, int maxbitplace, APATNODE **root) |
Recursive sunction to find and remove an entry. | |
void | aptree_remove_entry (char *str, APATNODE **rootnode) |
Remove a node from the index tree. | |
void | aptree_traverse_and_do (APATNODE *node, void(*callback)(void *)) |
Recursive function to traverse index tree and execute the callback for all the existing data. | |
static void | aptree_count (APATNODE *node, int *count_branch, int *count_data, int *maxbit) |
static int | aptree_build_index (APATNODE *node, int *num, int *data_id, int *left, int *right, int *data) |
static void | aptree_write_leaf (FILE *fp, APATNODE *node, boolean(*callback)(void *, FILE *fp), boolean *error_p) |
boolean | aptree_write (FILE *fp, APATNODE *root, boolean(*save_data_func)(void *, FILE *fp)) |
boolean | aptree_read (FILE *fp, APATNODE **root, BMALLOC_BASE **mroot, void *data, boolean(*load_data_func)(void **, void *, FILE *)) |
Definition in file aptree.c.
static APATNODE* new_node | ( | BMALLOC_BASE ** | mroot | ) | [static] |
Allocate a new node.
Definition at line 35 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 void* aptree_search_data_r | ( | APATNODE * | node, | |
char * | str, | |||
int | maxbitplace | |||
) | [static] |
Recursive function to search the data in the tree.
node | [in] current node. |
Definition at line 54 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 92 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(), lcdset_lookup_with_category(), make_hmm_basephone_list(), mark_word_edge(), mpdf_add(), mpdf_lookup(), new_str2phseq(), rdhmmlist(), regist_cdset(), state_add(), state_lookup(), sw_add(), sw_lookup(), trans_add(), trans_lookup(), var_add(), and var_lookup().
APATNODE* aptree_make_root_node | ( | void * | data, | |
BMALLOC_BASE ** | mroot | |||
) |
Make a root node of a index tree.
data | [in] the first data |
Definition at line 113 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(), mpdf_add(), rdhmmlist(), regist_cdset(), state_add(), sw_add(), trans_add(), and var_add().
static void aptree_add_entry_at | ( | char * | str, | |
int | slen, | |||
int | bitloc, | |||
void * | data, | |||
APATNODE ** | parentlink, | |||
BMALLOC_BASE ** | mroot | |||
) | [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 131 of file aptree.c.
Referenced by aptree_add_entry().
void aptree_add_entry | ( | char * | str, | |
void * | data, | |||
char * | matchstr, | |||
APATNODE ** | rootnode, | |||
BMALLOC_BASE ** | mroot | |||
) |
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 206 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(), mpdf_add(), rdhmmlist(), regist_cdset(), state_add(), sw_add(), trans_add(), and var_add().
static void aptree_remove_entry_r | ( | APATNODE * | now, | |
APATNODE * | up, | |||
APATNODE * | up2, | |||
char * | str, | |||
int | maxbitplace, | |||
APATNODE ** | root | |||
) | [static] |
Recursive sunction to find and remove an entry.
now | [in] current node | |
up | [in] parent node | |
up2 | [in] parent parent node |
Definition at line 229 of file aptree.c.
Referenced by aptree_remove_entry().
void aptree_remove_entry | ( | char * | str, | |
APATNODE ** | rootnode | |||
) |
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 294 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().