Spec-Zone.ru › Scala 3.2

Object Ordering.IeeeOrdering

Класс-компаньон • Исходный код

object IeeeOrdering extends IeeeOrdering

Суператрибуты
Трейт IeeeOrdering
Трейт Ordering[Double]
Трейт PartialOrdering[Double]
Трейт Equiv[Double]
Трейт Serializable
Трейт Comparator[Double]
Класс Object
Трейт Matchable
Класс Any
Тип "self"
IeeeOrdering.type

Наследуемые классы

Исходный код
class OrderingOps(lhs: T)

Этот вложенный класс определяет операторы сравнения, доступные для T.

Он не может расширять AnyVal потому, что это не класс верхнего уровня или член статически доступного объекта.

Наследуется от Ordering

Наследуемые методы

Исходный код
def compare(x: Double, y: Double): Int

Возвращает целое число, знак которого указывает, как x соотносится с y.

Знак результата имеет следующий смысл:

- отрицательный, если x < y - положительный, если x > y - нулевой, в противном случае (если x == y)

Наследуется от IeeeOrdering

Исходный код
override def equiv(x: Double, y: Double): Boolean

Возвращает true, если x == y в порядке сортировки.

Классы-определения IeeeOrdering -> Ordering -> PartialOrdering -> Equiv
Наследуется от IeeeOrdering

Исходный код
override def gt(x: Double, y: Double): Boolean

Возвращает true, если x > y в порядке сортировки.

Классы-определения IeeeOrdering -> Ordering -> PartialOrdering
Наследуется от IeeeOrdering

Исходный код
override def gteq(x: Double, y: Double): Boolean

Возвращает true, если x >= y в порядке сортировки.

Классы-определения IeeeOrdering -> Ordering -> PartialOrdering
Наследуется от IeeeOrdering

Исходный код
def isReverseOf(other: Ordering[_]): Boolean

Возвращает true, если другой порядок является обратным порядком этого.

Эквивалентно other == this.reverse.

Реализации должны переопределять этот метод только в случае переопределения reverse также.

Наследуется от Ordering

Исходный код
override def lt(x: Double, y: Double): Boolean

Возвращает true, если x < y в порядке сортировки.

Классы-определения IeeeOrdering -> Ordering -> PartialOrdering
Наследуется от IeeeOrdering

Исходный код
override def lteq(x: Double, y: Double): Boolean

Возвращает true, если x <= y в порядке сортировки.

Классы-определения IeeeOrdering -> Ordering -> PartialOrdering
Наследуется от IeeeOrdering

Исходный код
override def max[U <: Double](x: U, y: U): U

Возвращает x если x >= y, иначе y.

Классы-определения IeeeOrdering -> Ordering
Наследуется от IeeeOrdering

Исходный код
override def min[U <: Double](x: U, y: U): U

Возвращает x если x <= y, иначе y.

Классы-определения IeeeOrdering -> Ordering
Наследуется от IeeeOrdering

Исходный код
def on[U](f: U => Double): Ordering[U]

Учитывая f, функцию от U к T, создаёт Ordering[U], чья функция сравнения эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Наследуется от Ordering

Исходный код
def orElse(other: Ordering[Double]): Ordering[T]

Создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, а в противном случае — результат функции сравнения other.

Параметры значения
other

порядок, который нужно использовать, если этот порядок возвращает ноль

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElse(Ordering.by[Pair, Int](_.b))
Наследуется от Ordering

Исходный код
def orElseBy[S](f: Double => S)(implicit ord: Ordering[S]): Ordering[T]

Учитывая f, функцию от T к S, создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, а в противном случае — результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElseBy[Int](_.b)
Унаследовано от Ordering

Исходный код
override def reverse: Ordering[T]

Возвращает обратный порядок текущего.

Реализации, переопределяющие этот метод, ДОЛЖНЫ также переопределить isReverseOf, если они изменяют поведение (например, кэширование не требует переопределения).

Классы-предки Ordering -> PartialOrdering
Унаследовано от Ordering

def reversed(): Comparator[T]

Унаследовано от Comparator

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: Double <: <FromJavaObject>, _ <: U]): Comparator[T]

Унаследовано от Comparator

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: Double <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]

Унаследовано от Comparator

def thenComparing(x$0: Comparator[_ >: Double <: <FromJavaObject>]): Comparator[T]

Унаследовано от Comparator

def thenComparingDouble(x$0: ToDoubleFunction[_ >: Double <: <FromJavaObject>]): Comparator[T]

Унаследовано от Comparator

def thenComparingInt(x$0: ToIntFunction[_ >: Double <: <FromJavaObject>]): Comparator[T]

Унаследовано от Comparator

def thenComparingLong(x$0: ToLongFunction[_ >: Double <: <FromJavaObject>]): Comparator[T]

Унаследовано от Comparator

Исходный код
def tryCompare(x: Double, y: Double): Option[Int]

Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).

Унаследовано от Ordering

Унаследованные неявные методы

Исходный код
implicit def mkOrderingOps(lhs: Double): OrderingOps

Этот неявный метод расширяет T операторами сравнения, определёнными в scala.math.Ordering.Ops.

Унаследовано от Ordering

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/math/Ordering$$Double$$IeeeOrdering$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API