WeightedPhraseInfo first = itr.next(); work.add( first ); int workEndOffset = first.getEndOffset(); while ( itr.hasNext() ) { WeightedPhraseInfo current = itr.next(); if ( current.getStartOffset() <= workEndOffset ) { workEndOffset = Math.max( workEndOffset, current.getEndOffset() ); work.add( current ); } else { work.add( current ); workEndOffset = current.getEndOffset();
startOffset : phraseInfo.getStartOffset() - MARGIN; int en = st + fragCharSize; if( phraseInfo.getEndOffset() > en ) en = phraseInfo.getEndOffset(); startOffset = en; if( phraseInfo.getEndOffset() <= en ) wpil.add( phraseInfo ); else
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + getStartOffset(); result = prime * result + getEndOffset(); long b = Double.doubleToLongBits( getBoost() ); result = prime * result + ( int )( b ^ ( b >>> 32 ) ); return result; }
int currentPhraseEndOffset = phraseInfo.getEndOffset(); int spanStart = Math.max(currentPhraseStartOffset - margin, startOffset); int spanEnd = Math.max(currentPhraseEndOffset, spanStart + fragCharSize); if (phraseInfo.getEndOffset() <= spanEnd) { currentPhraseEndOffset = phraseInfo.getEndOffset(); if (acceptPhrase(queue.removeTop(), currentPhraseEndOffset - currentPhraseStartOffset, fragCharSize)) { wpil.add(phraseInfo);
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } WeightedPhraseInfo other = (WeightedPhraseInfo) obj; if (getStartOffset() != other.getStartOffset()) { return false; } if (getEndOffset() != other.getEndOffset()) { return false; } if (getBoost() != other.getBoost()) { return false; } return true; }
public boolean isOffsetOverlap( WeightedPhraseInfo other ){ int so = getStartOffset(); int eo = getEndOffset(); int oso = other.getStartOffset(); int oeo = other.getEndOffset(); if( so <= oso && oso < eo ) return true; if( so < oeo && oeo <= eo ) return true; if( oso <= so && so < oeo ) return true; if( oso < eo && eo <= oeo ) return true; return false; }
public boolean isOffsetOverlap( WeightedPhraseInfo other ){ int so = getStartOffset(); int eo = getEndOffset(); int oso = other.getStartOffset(); int oeo = other.getEndOffset(); if( so <= oso && oso < eo ) return true; if( so < oeo && oeo <= eo ) return true; if( oso <= so && so < oeo ) return true; if( oso < eo && eo <= oeo ) return true; return false; }
@Override public int compareTo( WeightedPhraseInfo other ) { int diff = getStartOffset() - other.getStartOffset(); if ( diff != 0 ) { return diff; } diff = getEndOffset() - other.getEndOffset(); if ( diff != 0 ) { return diff; } return (int) Math.signum( getBoost() - other.getBoost() ); }