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:
Alexander Udalov
2013-06-20 23:25:17 +04:00
parent 9a6979aa6c
commit 33bcee7d6d
5 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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