Skip to content
Snippets Groups Projects
Commit fbf62beb authored by alandonovan's avatar alandonovan Committed by Ian Lance Taylor
Browse files

sort: document requirements of Less relation

Fixes #34915

Change-Id: Ia62ff3b6f198ddcd79e8afc7b4f5514a44f2442c
Reviewed-on: https://go-review.googlesource.com/c/go/+/261959


Reviewed-by: default avatarRob Pike <r@golang.org>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Reviewed-by: default avatarAkhil Indurti <aindurti@gmail.com>
Trust: Alberto Donizetti <alb.donizetti@gmail.com>
parent 9c56300e
No related branches found
No related tags found
No related merge requests found
......@@ -11,6 +11,12 @@ package sort
// A type, typically a collection, that satisfies sort.Interface can be
// sorted by the routines in this package. The methods require that the
// elements of the collection be enumerated by an integer index.
//
// The sort routines require that the Less method implements a strict weak
// ordering; see https://en.wikipedia.org/wiki/Weak_ordering.
// The < operations on ints and strings are examples of such an ordering,
// whereas the < operation on floating-point numbers is not, due to the
// behavior of not-a-number (NaN) values.
type Interface interface {
// Len is the number of elements in the collection.
Len() int
......@@ -275,8 +281,9 @@ func (p IntSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
// Sort is a convenience method.
func (p IntSlice) Sort() { Sort(p) }
// Float64Slice attaches the methods of Interface to []float64, sorting in increasing order
// (not-a-number values are treated as less than other values).
// Float64Slice attaches the methods of Interface to []float64, sorting in increasing order.
// In order to satisfy the ordering requirements of the Less method, not-a-number (NaN)
// values are treated as less than other values.
type Float64Slice []float64
func (p Float64Slice) Len() int { return len(p) }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment