Тракт Ordering.IeeeOrdering
Порядок для Floats, который соответствует спецификациям IEEE всякий раз, когда это возможно.
lt,lteq,equiv,gteqиgtсогласуются с операциями сравнения примитивов дляFloats и возвращаютfalseпри вызове сNaN.minиmaxсогласуются сmath.minиmath.max, и возвращаютNaNпри вызове сNaNв качестве любого из аргументов.compareведет себя так же, как java.lang.Float.compare.
Поскольку поведение Floats, заданное спецификацией IEEE, не согласуется с полным порядком при работе с NaN, для Float определено два порядка: TotalOrdering, который согласуется с полным порядком, и IeeeOrdering, который согласуется по возможности со спецификацией IEEE и операциями с плавающей точкой, определенными в scala.math.
Этот порядок может быть предпочтительнее в числовых контекстах.
| См. также | |
|---|---|
| Надтипы | |
| Известные подтипы |
Наследуемые классы-линейки
Исходный код
класс OrderingOps(lhs: T)
Этот внутренний класс определяет операторы сравнения, доступные для T.
Он не может расширять AnyVal , потому что это не верхнеуровневый класс или член статически доступного объекта.
| Наследуется от | Ordering |
|---|
Конкретные методы
Исходный код
Возвращает целое число, знак которого указывает, как x сравнивается с y.
Знак результата имеет следующее значение:
- отрицательный, если x < y - положительный, если x > y - нулевой в противном случае (если x == y)
Исходный код
Возвращает true, если x == y в порядке.
| Определяющие классы | Ordering -> PartialOrdering -> Equiv |
|---|
Исходный код
Возвращает true, если x > y в порядке.
| Определяющие классы | Ordering -> PartialOrdering |
|---|
Исходный код
Возвращает true, если x >= y в порядке.
| Определяющие классы | Ordering -> PartialOrdering |
|---|
Исходный код
Возвращает true, если x < y в порядке.
| Определяющие классы | Ordering -> PartialOrdering |
|---|
Исходный код
Возвращает true, если x <= y в порядке.
| Определяющие классы | Ordering -> PartialOrdering |
|---|
Исходный код
Возвращает x , если x >= y, в противном случае y.
| Определяющие классы | Ordering |
|---|
Исходный код
Возвращает x , если x <= y, в противном случае y.
| Определяющие классы | Ordering |
|---|
Наследуемые методы
Исходный код
Возвращает true, если другой порядок является обратным порядком этого порядка.
Эквивалентно other == this.reverse.
Реализации должны переопределять этот метод только в том случае, если они также переопределяют reverse.
| Наследуется от | Ordering |
|---|
Исходный код
Учитывая f, функцию из U в T, создает Ordering[U], чья функция сравнения эквивалентна:
def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
| Наследуется от | Ordering |
|---|
Исходный код
Создает Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она отлична от нуля, в противном случае результат функции сравнения other.
| Параметры значения |
|
|---|---|
| Пример |
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
.orElse(Ordering.by[Pair, Int](_.b))
|
| Наследуется от | Ordering |
Исходный код
Учитывая 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 |
Источник
Возвращает обратный порядок сортировки по отношению к текущему.
Реализации, переопределяющие этот метод, ОБЯЗАНЫ также переопределить isReverseOf, если они изменяют поведение (например, кэширование не требует переопределения).
| Классы-определения | Ordering -> PartialOrdering |
|---|---|
| Наследуется от | Ordering |
def reversed(): Comparator[T]
| Наследуется от | Comparator |
|---|
def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: Float <: <FromJavaObject>, _ <: U]): Comparator[T]
| Наследуется от | Comparator |
|---|
def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: Float <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]
| Наследуется от | Comparator |
|---|
| Наследуется от | Comparator |
|---|
| Наследуется от | Comparator |
|---|
| Наследуется от | Comparator |
|---|
| Наследуется от | Comparator |
|---|
Источник
Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).
| Наследуется от | Ordering |
|---|
Наследуемые неявные имплиситы
Источник
Этот неявный метод дополняет 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$$Float$$IeeeOrdering.html