2010-06-08 Johannes Singler <singler@kit.edu>

* include/parallel/partial_sum.h
        (__parallel_partial_sum_linear):
        Correctly calculate part lengths for partial_sum_dilation!=1.0f.

From-SVN: r160428
This commit is contained in:
Johannes Singler 2010-06-08 09:11:49 +00:00 committed by Johannes Singler
parent a9429e29f5
commit 736cc331c6
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2010-06-08 Johannes Singler <singler@kit.edu>
* include/parallel/partial_sum.h
(__parallel_partial_sum_linear):
Correctly calculate part lengths for partial_sum_dilation!=1.
2010-06-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44417

View File

@ -127,10 +127,13 @@ namespace __gnu_parallel
equally_split(__n, __num_threads + 1, __borders);
else
{
_DifferenceType __first_part_length =
std::max<_DifferenceType>(1,
__n / (1.0f + __s.partial_sum_dilation * __num_threads));
_DifferenceType __chunk_length =
((double)__n
/ ((double)__num_threads + __s.partial_sum_dilation)),
__borderstart = __n - __num_threads * __chunk_length;
(__n - __first_part_length) / __num_threads;
_DifferenceType __borderstart =
__n - __num_threads * __chunk_length;
__borders[0] = 0;
for (_ThreadIndex __i = 1; __i < (__num_threads + 1); ++__i)
{