scala.math

# PartialOrdering

#### trait PartialOrdering[T] extends Equiv[T]

A trait for representing partial orderings. It is important to distinguish between a type that has a partial order and a representation of partial ordering on some type. This trait is for representing the latter.

A partial ordering is a binary relation on a type `T`, exposed as the `lteq` method of this trait. This relation must be:

- reflexive: `lteq(x, x) == true`, for any `x` of type `T`.
- anti-symmetric: if `lteq(x, y) == true` and `lteq(y, x) == true` then `equiv(x, y) == true`, for any `x` and `y` of type `T`.
- transitive: if `lteq(x, y) == true` and `lteq(y, z) == true` then `lteq(x, z) == true`, for any `x`, `y`, and `z` of type `T`.

Additionally, a partial ordering induces an equivalence relation on a type `T`: `x` and `y` of type `T` are equivalent if and only if `lteq(x, y) && lteq(y, x) == true`. This equivalence relation is exposed as the `equiv` method, inherited from the Equiv trait.

Self Type
  PartialOrdering[T]
Source
  PartialOrdering.scala
Version

  1.0, 2008-04-0-3

Since

  2.7

Linear Supertypes
Equiv[T], Serializable, java.io.Serializable, AnyRef, Any
Known Subclasses
BigDecimal, BigDecimalAsIfIntegral, BigDecimalAsIfIntegral, BigDecimalIsConflicted, BigDecimalIsFractional, BigDecimalIsFractional, BigDecimalOrdering, BigInt, BigIntIsIntegral, BigIntIsIntegral, BigIntOrdering, Boolean, BooleanOrdering, Byte, ByteIsIntegral, ByteIsIntegral, ByteOrdering, Char, CharIsIntegral, CharIsIntegral, CharOrdering, DeadlineIsOrdered, Double, DoubleAsIfIntegral, DoubleAsIfIntegral, DoubleIsConflicted, DoubleIsFractional, DoubleIsFractional, DoubleOrdering, DurationIsOrdered, FiniteDurationIsOrdered, Float, FloatAsIfIntegral, FloatAsIfIntegral, FloatIsConflicted, FloatIsFractional, FloatIsFractional, FloatOrdering, Fractional, Int, IntIsIntegral, IntIsIntegral, IntOrdering, Integral, Long, LongIsIntegral, LongIsIntegral, LongOrdering, Numeric, OptionOrdering, Ordering, Short, ShortIsIntegral, ShortIsIntegral, ShortOrdering, String, StringOrdering, Unit, UnitOrdering, ValueOrdering
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. PartialOrdering
2. Equiv
3. Serializable
4. Serializable
5. AnyRef
6. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Abstract Value Members

1. #### abstract def lteq(x: T, y: T): Boolean

   Returns `true` iff `x` comes before `y` in the ordering.

2. #### abstract def tryCompare(x: T, y: T): Option[Int]

   Result of comparing `x` with operand `y`.

   Result of comparing `x` with operand `y`. Returns `None` if operands are not comparable. If operands are comparable, returns `Some(r)` where

   - `r < 0` iff `x < y`
   - `r == 0` iff `x == y`
   - `r > 0` iff `x > y`

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from PartialOrdering[T] to any2stringadd[PartialOrdering[T]] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (PartialOrdering[T], B)

   Implicit information
     This member is added by an implicit conversion from PartialOrdering[T] to ArrowAssoc[PartialOrdering[T]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

7. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

8. #### def ensuring(cond: (PartialOrdering[T]) ⇒ Boolean, msg: ⇒ Any): PartialOrdering[T]

   Implicit information
     This member is added by an implicit conversion from PartialOrdering[T] to Ensuring[PartialOrdering[T]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

9. #### def ensuring(cond: (PartialOrdering[T]) ⇒ Boolean): PartialOrdering[T]

   Implicit information
     This member is added by an implicit conversion from PartialOrdering[T] to Ensuring[PartialOrdering[T]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

10. #### def ensuring(cond: Boolean, msg: ⇒ Any): PartialOrdering[T]

    Implicit information
      This member is added by an implicit conversion from PartialOrdering[T] to Ensuring[PartialOrdering[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: Boolean): PartialOrdering[T]

    Implicit information
      This member is added by an implicit conversion from PartialOrdering[T] to Ensuring[PartialOrdering[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

13. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

14. #### def equiv(x: T, y: T): Boolean

    Returns `true` iff `x` is equivalent to `y` in the ordering.

    Returns `true` iff `x` is equivalent to `y` in the ordering.

    Definition Classes
      PartialOrdering → Equiv

15. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

16. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from PartialOrdering[T] to StringFormat[PartialOrdering[T]] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

17. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

18. #### def gt(x: T, y: T): Boolean

    Returns `true` iff `y` comes before `x` in the ordering and is not the same as `x`.

19. #### def gteq(x: T, y: T): Boolean

    Returns `true` iff `y` comes before `x` in the ordering.

20. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

21. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

22. #### def lt(x: T, y: T): Boolean

    Returns `true` iff `x` comes before `y` in the ordering and is not the same as `y`.

23. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

24. #### final def notify(): Unit

    Definition Classes
      AnyRef

25. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

26. #### def reverse: PartialOrdering[T]

27. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

28. #### def toString(): String

    Definition Classes
      AnyRef → Any

29. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

30. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

31. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

32. #### def →[B](y: B): (PartialOrdering[T], B)

    Implicit information
      This member is added by an implicit conversion from PartialOrdering[T] to ArrowAssoc[PartialOrdering[T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Equiv[T]

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from PartialOrdering[T] to any2stringadd[PartialOrdering[T]]

### Inherited by implicit conversion StringFormat from PartialOrdering[T] to StringFormat[PartialOrdering[T]]

### Inherited by implicit conversion Ensuring from PartialOrdering[T] to Ensuring[PartialOrdering[T]]

### Inherited by implicit conversion ArrowAssoc from PartialOrdering[T] to ArrowAssoc[PartialOrdering[T]]

### Ungrouped