| 
| void  | GenRandStats (int32 dim, int32 num_stats, int32 N, int32 P, const std::vector< int32 > &phone_ids, const std::vector< int32 > &hmm_lengths, const std::vector< bool > &is_ctx_dep, bool ensure_all_phones_covered, BuildTreeStatsType *stats_out) | 
|   | GenRandStats generates random statistics of the form used by BuildTree.  More...
  | 
|   | 
| EventMap *  | BuildTree (Questions &qopts, const std::vector< std::vector< int32 > > &phone_sets, const std::vector< int32 > &phone2num_pdf_classes, const std::vector< bool > &share_roots, const std::vector< bool > &do_split, const BuildTreeStatsType &stats, BaseFloat thresh, int32 max_leaves, BaseFloat cluster_thresh, int32 P, bool round_num_leaves=true) | 
|   | BuildTree is the normal way to build a set of decision trees.  More...
  | 
|   | 
| static void  | ComputeTreeMapping (const EventMap &small_tree, const EventMap &big_tree, const BuildTreeStatsType &stats, std::vector< int32 > *leaf_map) | 
|   | 
| EventMap *  | BuildTreeTwoLevel (Questions &qopts, const std::vector< std::vector< int32 > > &phone_sets, const std::vector< int32 > &phone2num_pdf_classes, const std::vector< bool > &share_roots, const std::vector< bool > &do_split, const BuildTreeStatsType &stats, int32 max_leaves_first, int32 max_leaves_second, bool cluster_leaves, int32 P, std::vector< int32 > *leaf_map) | 
|   | BuildTreeTwoLevel builds a two-level tree, useful for example in building tied mixture systems with multiple codebooks.  More...
  | 
|   | 
| void  | ReadSymbolTableAsIntegers (std::string filename, bool include_eps, std::vector< int32 > *syms) | 
|   | included here because it's used in some tree-building calling code.  More...
  | 
|   | 
| static void  | RemoveDuplicates (std::vector< std::vector< int32 > > *vecs) | 
|   | 
| static void  | ObtainSetsOfPhones (const std::vector< std::vector< int32 > > &phone_sets, const std::vector< int32 > &assignments, const std::vector< int32 > &clust_assignments, int32 num_leaves, std::vector< std::vector< int32 > > *sets_out) | 
|   | ObtainSetsOfPhones is called by AutomaticallyObtainQuestions.  More...
  | 
|   | 
| void  | AutomaticallyObtainQuestions (BuildTreeStatsType &stats, const std::vector< std::vector< int32 > > &phone_sets_in, const std::vector< int32 > &all_pdf_classes_in, int32 P, std::vector< std::vector< int32 > > *questions_out) | 
|   | Outputs sets of phones that are reasonable for questions to ask in the tree-building algorithm.  More...
  | 
|   | 
| void  | KMeansClusterPhones (BuildTreeStatsType &stats, const std::vector< std::vector< int32 > > &phone_sets_in, const std::vector< int32 > &all_pdf_classes_in, int32 P, int32 num_classes, std::vector< std::vector< int32 > > *sets_out) | 
|   | This function clusters the phones (or some initially specified sets of phones) into sets of phones, using a k-means algorithm.  More...
  | 
|   | 
| void  | ReadRootsFile (std::istream &is, std::vector< std::vector< int32 > > *phone_sets, std::vector< bool > *is_shared_root, std::vector< bool > *is_split_root) | 
|   | Reads the roots file (throws on error).  More...
  | 
|   |