private void clinkstep8 ( DBIDRef id , DBIDArrayIter it , int n , WritableDBIDDataStore pi , WritableDoubleDataStore lambda , WritableDoubleDataStore m ) { DBIDVar p_i = DBIDUtil . newVar ( ) , pp_i = DBIDUtil . newVar ( ) ; for ( it . seek ( 0 ) ; it . getOffset ( ) < n ; it . advance ( ) ) { p_i . from ( pi , it ) ; // p_i = pi[i] pp_i . from ( pi , p_i ) ; // pp_i = pi[pi[i]] if ( DBIDUtil . equal ( pp_i , id ) && lambda . doubleValue ( it ) >= lambda . doubleValue ( p_i ) ) { pi . putDBID ( it , id ) ; } } }
Update hierarchy .