Le dim. 5 avr. 2020 à 00:36, Alex Herbert <alex.d.herb...@gmail.com> a écrit :
>
>
>
> > On 4 Apr 2020, at 22:35, Gilles Sadowski <gillese...@gmail.com> wrote:
> >
> > Hello.
> >
> > Le sam. 4 avr. 2020 à 23:16, <aherb...@apache.org 
> > <mailto:aherb...@apache.org>> a écrit :
> >>
> >> This is an automated email from the ASF dual-hosted git repository.
> >>
> >> aherbert pushed a commit to branch master
> >> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
> >>
> >> commit 08edae944e4abe7ec4b95a72d3791a9f39fb53c8
> >> Author: Alex Herbert <aherb...@apache.org>
> >> AuthorDate: Sat Apr 4 21:23:08 2020 +0100
> >>
> >>    Remove a branch from equals tests with NaN.
> >>
> >>    A bitwise OR of the booleans is true if either boolean is true. Since
> >>    they are both already computed then the || operator short circuit (if
> >>    first is true) cannot avoid having to compute the second boolean.
> >>
> >>    This change converts 3 conditional evaluations to 2 conditional
> >>    evaluations.
> >
> > Is this measurable?  Is the difference significant?
> > I'm not actually asking any benchmarking, but such changes
> > should be balanced with the resulting code reduced (IMO)
> > readability.
>
> I do not know. I ensured the unit tests had full coverage and then looked at 
> a few ways to improve the class. This change may be reverted.

No need to bother.
Perhaps it's just a matter of habit or taste.
The method is short, and someone puzzled can check
that it behaves as expected.

> It may be something that is done by a good compiler anyway.
>
> There is another change that will eliminate the unreachable code branch. But 
> I did not make that change as it was less readable IMO:
>
> Original:
>
> return isEqual && !Double.isNaN(x) && !Double.isNaN(y);
>
> Verses:
>
> return isEqual && !Double.isNaN(x + y);
>
> As is this perhaps:
>
> if (((xInt ^ yInt) & SGN_MASK) == 0L) {
>
> Verses:
>
> if (((xInt ^ yInt) >= 0L) {
>
> Given that none of this is in anyway expected to be in performance critical 
> code I can put it back to the previous version if you prefer.

Perhaps just add the equivalent alternative code that's
could be more readily understandable?

Best,
Gilles

> >> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to