Fix iterators for one-element progressions
In case of start==end hasNext was always false, which resulted in iterators over one-element progressions not iterating that element
This commit is contained in:
@@ -29,7 +29,7 @@ class ByteProgressionIterator extends ByteIterator {
|
||||
this.increment = increment;
|
||||
|
||||
this.finalElement = (byte) ProgressionUtil.getProgressionFinalElement(start, end, increment);
|
||||
this.hasNext = increment < 0 ? start > end : start < end;
|
||||
this.hasNext = increment > 0 ? start <= end : start >= end;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ class CharProgressionIterator extends CharIterator {
|
||||
this.increment = increment;
|
||||
|
||||
this.finalElement = (char) ProgressionUtil.getProgressionFinalElement(start, end, increment);
|
||||
this.hasNext = increment < 0 ? start > end : start < end;
|
||||
this.hasNext = increment > 0 ? start <= end : start >= end;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ class IntProgressionIterator extends IntIterator {
|
||||
this.increment = increment;
|
||||
|
||||
this.finalElement = ProgressionUtil.getProgressionFinalElement(start, end, increment);
|
||||
this.hasNext = increment < 0 ? start > end : start < end;
|
||||
this.hasNext = increment > 0 ? start <= end : start >= end;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ class LongProgressionIterator extends LongIterator {
|
||||
this.increment = increment;
|
||||
|
||||
this.finalElement = ProgressionUtil.getProgressionFinalElement(start, end, increment);
|
||||
this.hasNext = increment < 0 ? start > end : start < end;
|
||||
this.hasNext = increment > 0 ? start <= end : start >= end;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ class ShortProgressionIterator extends ShortIterator {
|
||||
this.increment = increment;
|
||||
|
||||
this.finalElement = (short) ProgressionUtil.getProgressionFinalElement(start, end, increment);
|
||||
this.hasNext = increment < 0 ? start > end : start < end;
|
||||
this.hasNext = increment > 0 ? start <= end : start >= end;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user