An ordering for Doubles which is a fully consistent total ordering, and treats NaN as larger than all other Double values; it behaves the same as java.lang.Double.compare.
Because the behavior of Doubles specified by IEEE is not consistent with a total ordering when dealing with NaN, there are two orderings defined for Double: TotalOrdering, which is consistent with a total ordering, and IeeeOrdering, which is consistent as much as possible with IEEE spec and floating point operations defined in scala.math.
This ordering may be preferable for sorting collections.
Attributes
- See also
- Companion
- object
- Graph
-
- Supertypes
-
trait PartialOrdering[Double]trait Serializabletrait Comparator[Double]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
object DeprecatedDoubleOrderingobject TotalOrdering
Members list
Type members
Inherited classlikes
This inner class defines comparison operators available for T.
Value members
Concrete methods
Inherited methods
Return true if x == y in the ordering.
Return true if x > y in the ordering.
Return true if x >= y in the ordering.
Returns whether or not the other ordering is the opposite ordering of this one.
Return true if x < y in the ordering.
Return true if x <= y in the ordering.
Return x if x >= y, otherwise y.
Return x if x <= y, otherwise y.
Given f, a function from U into T, creates an Ordering[U] whose compare function is equivalent to:
Given f, a function from U into T, creates an Ordering[U] whose compare function is equivalent to:
def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Attributes
- Inherited from:
- Ordering
Creates an Ordering[T] whose compare function returns the result of this Ordering's compare function, if it is non-zero, or else the result of others compare function.
Creates an Ordering[T] whose compare function returns the result of this Ordering's compare function, if it is non-zero, or else the result of others compare function.
Value parameters
- other
-
an Ordering to use if this Ordering returns zero
Attributes
- Example
-
case class Pair(a: Int, b: Int) val pairOrdering = Ordering.by[Pair, Int](_.a) .orElse(Ordering.by[Pair, Int](_.b)) - Inherited from:
- Ordering
Given f, a function from T into S, creates an Ordering[T] whose compare function returns the result of this Ordering's compare function, if it is non-zero, or else a result equivalent to:
Given f, a function from T into S, creates an Ordering[T] whose compare function returns the result of this Ordering's compare function, if it is non-zero, or else a result equivalent to:
Ordering[S].compare(f(x), f(y))
This function is equivalent to passing the result of Ordering.by(f) to orElse.
Attributes
- Example
-
case class Pair(a: Int, b: Int) val pairOrdering = Ordering.by[Pair, Int](_.a) .orElseBy[Int](_.b) - Inherited from:
- Ordering
Return the opposite ordering of this one.
Return the opposite ordering of this one.
Implementations overriding this method MUST override isReverseOf as well if they change the behavior at all (for example, caching does not require overriding it).
Attributes
- Definition Classes
- Inherited from:
- Ordering
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Attributes
- Inherited from:
- Comparator
Implicits
Inherited implicits
This implicit method augments T with the comparison operators defined in scala.math.Ordering.Ops.
This implicit method augments T with the comparison operators defined in scala.math.Ordering.Ops.
Attributes
- Inherited from:
- Ordering