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.increment = increment;
|
||||||
|
|
||||||
this.finalElement = (byte) ProgressionUtil.getProgressionFinalElement(start, end, 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
|
@Override
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class CharProgressionIterator extends CharIterator {
|
|||||||
this.increment = increment;
|
this.increment = increment;
|
||||||
|
|
||||||
this.finalElement = (char) ProgressionUtil.getProgressionFinalElement(start, end, 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
|
@Override
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class IntProgressionIterator extends IntIterator {
|
|||||||
this.increment = increment;
|
this.increment = increment;
|
||||||
|
|
||||||
this.finalElement = ProgressionUtil.getProgressionFinalElement(start, end, 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
|
@Override
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class LongProgressionIterator extends LongIterator {
|
|||||||
this.increment = increment;
|
this.increment = increment;
|
||||||
|
|
||||||
this.finalElement = ProgressionUtil.getProgressionFinalElement(start, end, 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
|
@Override
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class ShortProgressionIterator extends ShortIterator {
|
|||||||
this.increment = increment;
|
this.increment = increment;
|
||||||
|
|
||||||
this.finalElement = (short) ProgressionUtil.getProgressionFinalElement(start, end, 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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user