[PATCH][libstdc++-v3 parallel mode] Tackle XXX todos: move compare to last place

Johannes Singler singler@ira.uka.de
Thu Sep 24 09:22:00 GMT 2009


Benjamin Kosnik wrote:
>> This patch fixes a small todo, and removes another (cannot remove
>> duplicates of std:: functors because they have different structure).
> 
> What about __gnu_parallel::max and __gnu_parallel::min?

They are needed for parallel "numeric" even when "algorithm" is not
included.  That's why this test fails when removing them.  Attached
patch comments this.

2009-09-24  Johannes Singler  <singler@ira.uka.de>

       * include/parallel/base.h:  Comment on presence of min/max
       duplicates.

FAIL: 26_numerics/headers/numeric/numeric_parallel_mode.cc (test for
excess errors)

>> 2009-09-23  Johannes Singler  <singler@ira.uka.de>
>>
>>         * include/parallel/algobase.h
>>         (__lexicographical_compare_switch): Move compare template
>>         parameter to the end as of others.
> 
> This part is ok, thanks.
> 
>> include/parallel/checkers.h:  // XXX Compare default template argument
> 
> I was wondering about the form here of these sorting functions. Is
> there a simpler way to arrange this? Usage is such that all known call
> sites include all three arguments. (No default argument is used.)
> Compare passed by value... 

2009-09-24  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/include/parallel/checkers.h
        (is_sorted_failure, is_sorted_print_failures):  Remove (unused).
        (__is_sorted):  Remove default parameter for _Compare; remove
        inappropriate printf.

>> include/parallel/for_each_selectors.h:  // XXX move into type_traits?
> 
> _Nothing to __accumulate_binop_reduct seem to be utility bits,
> unrelated to the rest of the file. Should they be moved elsewhere?

Well, the whole file basically contains utility bits, and they are used
close together (e.g. in algo.h)

>> include/parallel/partition.h:        // XXX _Compare must have
>> first__ValueType, second__ValueType,
> 
>> include/parallel/partition.h:        // XXX binder2nd only for
>> _RAIters??
> 
> Sadly, I can't remember this one. I think this is about type
> constraints on binder2nd, or questions on the way it's instantiated.

Well, I opt for removing it then...

2009-09-24  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/partition.h (__parallel_nth_element):
        Correct comment.

Please approve all patches for mainline.

-- Johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cleanup_checkers.patch
Type: text/x-patch
Size: 4357 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20090924/e3c033f6/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: comment_min_max.patch
Type: text/x-patch
Size: 1316 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20090924/e3c033f6/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: comment_partition.patch
Type: text/x-patch
Size: 1429 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20090924/e3c033f6/attachment-0002.bin>


More information about the Libstdc++ mailing list