Skip to content

Commit a64840e

Browse files
authored
Merge pull request #146 from franzbischoff/master
Update TinyThread.h
2 parents 06b203d + 99a54a0 commit a64840e

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

inst/include/RcppParallel/TinyThread.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,15 @@ std::vector<IndexRange> splitInputRange(const IndexRange& range,
8989
// allocate ranges
9090
std::vector<IndexRange> ranges;
9191
std::size_t begin = range.begin();
92+
std::size_t end = begin;
9293
while (begin < range.end()) {
93-
std::size_t end = std::min(begin + grainSize, range.end());
94-
ranges.push_back(IndexRange(begin, end));
95-
begin = end;
94+
if ((range.end() - (begin + grainSize)) < grainSize)
95+
end = range.end();
96+
else
97+
end = std::min(begin + grainSize, range.end());
98+
99+
ranges.push_back(IndexRange(begin, end));
100+
begin = end;
96101
}
97102

98103
// return ranges

0 commit comments

Comments
 (0)