Instance Method

isTotallyOrdered(belowOrEqualTo:)

Returns a Boolean value indicating whether this instance should precede or tie positions with the given value in an ascending sort.

Required. Default implementation provided.

Declaration

func isTotallyOrdered(belowOrEqualTo other: Self) -> Bool

Parameters

other

A floating-point value to compare to this value.

Return Value

true if this value is ordered below or the same as other in a total ordering of the floating-point type; otherwise, false.

Discussion

This relation is a refinement of the less-than-or-equal-to operator (<=) that provides a total order on all values of the type, including signed zeros and NaNs.

The following example uses isTotallyOrdered(belowOrEqualTo:) to sort an array of floating-point values, including some that are NaN:

var numbers = [2.5, 21.25, 3.0, .nan, -9.5]
numbers.sort { !$1.isTotallyOrdered(belowOrEqualTo: $0) }
// numbers == [-9.5, 2.5, 3.0, 21.25, NaN]

The isTotallyOrdered(belowOrEqualTo:) method implements the total order relation as defined by the IEEE 754 specification.

Default Implementations

BinaryFloatingPoint Implementations

func isTotallyOrdered(belowOrEqualTo: Self) -> Bool

Returns a Boolean value indicating whether this instance should precede or tie positions with the given value in an ascending sort.