virtual T *new_tree(int *out_tx=NULL) { if (t_num >= a_tree.size()) { throw new AzException("AzTrTreeEnsemble::new_tree", "no more empty slot"); } int tx = t_num; if (t[tx] != NULL) { throw new AzException("AzTrTreeEnsemble::new_tree", "something is wrong"); } AzParam p(dt_param, false); t[tx] = new T(p); t[tx]->forStoringDataIndexes(temp_files.point_file()); ++t_num; if (out_tx != NULL) { *out_tx = tx; } return t[tx]; }
inline bool isFull() const { if (t_num >= a_tree.size()) { return true; } return false; }
inline int max_size() const { return a_tree.size(); }