On Wed, 29 Aug 2018, Alexander Monakov wrote: > On Tue, 28 Aug 2018, Michael Matz wrote: > > > I think it's not too complicated, but how about adding this comment: > > > > > > profile_count m = c1.max (c2); > > > /* Return 0 if counts are equal, -1 if E1 has the larger count. */ > > > return (m == c2) - (m == c1); > > > > > > Or, alternatively, employ more branchy checks: > > > > > > if (c1 == c2) > > > return 0; > > > if (c1 == c1.max (c2)) > > > return -1; > > > return 1; > > > > You want to at least comment on why a tradition </>/== check isn't > > working, namely because of the uninitialized counts. > > Alright, so how about this comment: > > /* Using 'max', as profile_count::operator< does not establish > a strict weak order when uninitialized counts may be present. */ > profile_count m = c1.max (c2); > return (m == c2) - (m == c1); > > Or the same comment in the "branchy" alternative.
Ping, would any of proposed variants clarify the situation, and were there any other issues with the patch? Thanks. Alexander