> Am 26.08.2022 um 23:45 schrieb Martin Jambor <mjam...@suse.cz>: > > Hi, > >> On Fri, Aug 26 2022, Richard Sandiford wrote: >> Richard Biener <rguent...@suse.de> writes: >>>> Am 26.08.2022 um 18:40 schrieb Martin Jambor <mjam...@suse.cz>: >>>> >>>> Hi, >>>> >>>> This adds a method to binary search in a sorted array_slice. >>>> >>>> The implementation is direct copy of vec:bsearch. Moreover, to only >>>> copy it once and not twice, I used const_cast in the non-const >>>> variants to be able to use the const variants. I hope that is >>>> acceptable abuse of const_cast but I'll be happy to change that if >>>> not. >>>> >>>> Bootstrapped and tested along code that actually uses it on >>>> x86_64-linux. OK for trunk? >>> >>> Can you avoid the copying by using array slice bsearch from the vec<> >>> bsearch? >> >> IMO it would be better to transition to using <algorithm> routines >> for this kind of thing (for new code). In this case that would be >> std::lower_bound. >> >> Using std::lower_bound is more convenient because it avoids the void * >> thing (you can use lambdas to capture any number of variables instead) >> and because it works on subranges, not just whole ranges. >> > > OK, I can use std::lower_bound with simple lambdas too. The semantics > of returning the first matching a criterion actually allows me to use it > one more time. Can you try to compare generated code? > Martin
Re: [PATCH 2/2] vec: Add array_slice::bsearch
Richard Biener via Gcc-patches Fri, 26 Aug 2022 23:49:36 -0700
- [PATCH 2/2] vec: Add array_slice::bsearc... Martin Jambor
- Re: [PATCH 2/2] vec: Add array_slic... Richard Biener via Gcc-patches
- Re: [PATCH 2/2] vec: Add array_... Richard Sandiford via Gcc-patches
- Re: [PATCH 2/2] vec: Add ar... Martin Jambor
- Re: [PATCH 2/2] vec: Ad... Richard Biener via Gcc-patches
- Re: [PATCH 2/2] ve... Martin Jambor
- Re: [PATCH 2/2] vec: Add array_... Martin Jambor