We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 39303ec commit 99a54a0Copy full SHA for 99a54a0
inst/include/RcppParallel/TinyThread.h
@@ -89,10 +89,15 @@ std::vector<IndexRange> splitInputRange(const IndexRange& range,
89
// allocate ranges
90
std::vector<IndexRange> ranges;
91
std::size_t begin = range.begin();
92
+ std::size_t end = begin;
93
while (begin < range.end()) {
- std::size_t end = std::min(begin + grainSize, range.end());
94
- ranges.push_back(IndexRange(begin, end));
95
- begin = end;
+ if ((range.end() - (begin + grainSize)) < grainSize)
+ end = range.end();
96
+ else
97
+ end = std::min(begin + grainSize, range.end());
98
+
99
+ ranges.push_back(IndexRange(begin, end));
100
+ begin = end;
101
}
102
103
// return ranges
0 commit comments