The PartialOrder
type class is used to define a partial ordering on some type A
.
A partial order is defined by a relation <=, which obeys the following laws:
- x <= x (reflexivity)
- if x <= y and y <= x, then x = y (anti-symmetry)
- if x <= y and y <= z, then x <= z (transitivity)
To compute both <= and >= at the same time, we use a Double number to encode the result of the comparisons x <= y and x >= y. The truth table is defined as follows:
x <= y | x >= y | result | note |
---|---|---|---|
true | true | 0.0 | (corresponds to x = y) |
false | false | NaN | (x and y cannot be compared) |
true | false | -1.0 | (corresponds to x < y) |
false | true | 1.0 | (corresponds to x > y) |
Attributes
- Companion:
- object
- Source:
- PartialOrder.scala
- Graph
- Supertypes
- Known subtypes
- trait Order[A]class BigDecimalOrderclass BigIntOrderclass BooleanOrderclass ByteOrderclass CharOrderclass DeadlineOrderclass DoubleOrderclass DurationOrderclass FiniteDurationOrderclass FloatOrderclass IntOrderclass LazyListOrder[A]class ListOrder[A]class LongOrderclass OptionOrder[A]class QueueOrder[A]class SeqOrder[A]class ShortOrderclass SortedSetOrder[A]class SortedSetOrder[A]class StreamOrder[A]class StringOrderclass SymbolOrderclass UnitOrderclass VectorOrder[A]object O.typeclass BitSetPartialOrderclass LazyListPartialOrder[A]class ListPartialOrder[A]class OptionPartialOrder[A]class QueuePartialOrder[A]class SeqPartialOrder[A]class SetPartialOrder[A]class StreamPartialOrder[A]class VectorPartialOrder[A]object O.type
- Self type
- PartialOrder[A]
Members list
Value members
Abstract methods
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
Result of comparing x
with y
. Returns NaN if operands are not
comparable. If operands are comparable, returns a Double whose
sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Concrete methods
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
= y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
> y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
>= y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
< y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Returns true if x
<= y
, false otherwise.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Like partialCompare
, but returns a cats.kernel.Comparison instead of an Double.
Has the benefit of being able to pattern match on, but not as performant.
Attributes
- Source:
- PartialOrder.scala
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
Result of comparing x
with y
. Returns None if operands are
not comparable. If operands are comparable, returns Some[Int]
where the Int sign is:
- negative iff
x < y
- zero iff
x = y
- positive iff
x > y
Attributes
- Source:
- PartialOrder.scala