pub fn project_ids(&self, tag_set: &LabelSet) -> Vec<usize> {
        let indices = self.project_nt_indices(tag_set);
        let mut ids = vec![0; self.n_terminals];
        let mut mapping = HashMap::new();
        for (term_id, idx) in indices.into_iter().enumerate() {
            let n = mapping.len();
            let id = *mapping.entry(idx).or_insert(n);
            ids[term_id] = id;
        }
        ids
    }
/// Project unique IDs for nodes with label in `tag_set` onto terminals.
Project unique IDs for nodes with label in `tag_set` onto terminals.
Project unique IDs for nodes with label in ` tag_set ` onto terminals .
pub fn project_ids(&self, tag_set: &LabelSet) -> Vec<usize> {
        let indices = self.project_nt_indices(tag_set);
        let mut ids = vec![0; self.n_terminals];
        let mut mapping = HashMap::new();
        for (term_id, idx) in indices.into_iter().enumerate() {
            let n = mapping.len();
            let id = *mapping.entry(idx).or_insert(n);
            ids[term_id] = id;
        }
        ids
    }
pub fn project_ids ( & self , tag_set : & LabelSet ) -> Vec < usize > { let indices = self . project_nt_indices ( tag_set ) ; let mut ids = vec ! [ 0 self n_terminals ] ; let mut mapping = HashMap :: new ( ) ; for ( term_id , idx ) in indices . into_iter ( ) . enumerate ( ) { let n = mapping . len ( ) ; let id = * mapping . entry ( idx ) . or_insert ( n ) ; ids [ term_id ] = id ; } ids }
Project unique IDs for nodes with label in `tag_set` onto terminals.
Project unique IDs for nodes with label in ` tag_set ` onto terminals .
&self
tag_set
&LabelSet
&self
tag_set
&LabelSet