protected static int compareLexicographical ( Itemset a , Itemset o ) { int i1 = a . iter ( ) , i2 = o . iter ( ) ; while ( a . iterValid ( i1 ) && o . iterValid ( i2 ) ) { int v1 = a . iterDim ( i1 ) , v2 = o . iterDim ( i2 ) ; if ( v1 < v2 ) { return - 1 ; } if ( v2 < v1 ) { return + 1 ; } i1 = a . iterAdvance ( i1 ) ; i2 = o . iterAdvance ( i2 ) ; } return a . iterValid ( i1 ) ? 1 : o . iterValid ( i2 ) ? - 1 : 0 ; }
Robust compare using the iterators lexicographical only!