]> Cypherpunks repositories - gostls13.git/commit
sort: fix mix-up between "!less" and "greater" in examples
authorTom Levy <tomlevy93@gmail.com>
Tue, 22 Aug 2017 05:10:46 +0000 (17:10 +1200)
committerJoe Tsai <thebrokentoaster@gmail.com>
Fri, 25 Aug 2017 20:48:39 +0000 (20:48 +0000)
commit2bba267120ad8ce7e9ecd97f3ce4b08bce80b41b
tree3bd5bf913274ae453d29e0710f9e74714df4e45b
parentaea286b449c5ffe6d69fb7bb0c5b05e480ed3ad9
sort: fix mix-up between "!less" and "greater" in examples

If Less(a, b) returns true when a is less than b, the correct way to
check if a is greater than b is to use Less(b, a). It is wrong to use
!Less(a, b) because that checks if a is greater than *or equal to* b.

1. The decreasingDistance function in Example_sortKeys makes this
   mistake. Fix it.

2. The documentation of multiSorter.Less says it loops along the less
   functions until it finds a comparison "that is either Less or
   !Less". This is nonsense, because (Less(a, b) or !Less(a, b)) is
   always true. Fix the documentation to say that it finds a
   comparison "that discriminates between the two items (one is less
   than the other)". The implementation already does this correctly.

Change-Id: If52b79f68e4fdb0d1095edf29bdecdf154a61b8d
Reviewed-on: https://go-review.googlesource.com/57752
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/sort/example_keys_test.go
src/sort/example_multi_test.go