Spec-Zone.ru › Scala 2.13 Library

Трейт scala.math.Ordering.Double.IeeeOrdering

Компаньон объект IeeeOrdering

Трейт IeeeOrdering extends Ordering[Double]

Порядок для Double, который согласуется со спецификациями IEEE всякий раз, когда это возможно.

  • lt, lteq, equiv, gteq и gt согласованы с операциями сравнения для Double и возвращают false при вызове с NaN.
  • min и max согласованы с math.min и math.max, и возвращают NaN при вызове с NaN в качестве любого аргумента.
  • compare ведет себя так же, как java.lang.Double.compare().

Поскольку поведение Double, заданное спецификацией IEEE, не согласуется с полным порядком при работе с NaN, для Double определено два порядка: TotalOrdering, который согласуется с полным порядком, и IeeeOrdering, который согласуется с IEEE-спецификацией и операциями с плавающей точкой, определенными в scala.math, насколько это возможно.

Этот порядок может быть предпочтительнее в числовых контекстах.

Источник
Ordering.scala
См. также

TotalOrdering

Линейные надтипы
Ordering[Double], PartialOrdering[Double], Equiv[Double], java.io.Serializable, Comparator[Double], AnyRef, Any
Известные подклассы
DoubleIsFractional, IeeeOrdering

Типы-члены

КлассOrderingOps extends AnyRef

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

Определяющие классы
Ordering

Значения членов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Классы определений
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если две экземпляра типа значения сравниваются как true, то ## будет генерировать одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode выбросит NullPointerException.

возвращает

значение хэша, согласованное с ==

Классы определений
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering вany2stringadd[IeeeOrdering] выполненным методом any2stringadd в scala.Predef.
Классы определений
any2stringadd

def ->[B](y: B): (IeeeOrdering, B)

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering вArrowAssoc[IeeeOrdering] выполненным методом ArrowAssoc в scala.Predef.
Классы определений
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект получателя эквивалентен аргументу; false в противном случае.

Классы определений
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение типа объекта получателя к типу T0.

Обратите внимание, что успех приведения в ходе выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка требуемый тип.

возвращает

объект получателя.

Классы определений
Any
Исключения

ClassCastException, если объект получателя не является экземпляром стирания типа T0.

def clone(): AnyRef

Создать копию объекта получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копия объекта получателя.

Атрибуты
protected[java.lang]
Классы определений
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не определено SLS как член AnyRef

def compare(x: Double, y: Double): Int

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

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

    отрицательное, если x < yположительное, если x > yноль в противном случае (если x == y)
Классы определений
IeeeOrdering → Ordering → Comparator

def ensuring(cond: (IeeeOrdering) => Boolean, msg: => Any): IeeeOrdering

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering вEnsuring[IeeeOrdering] выполненным методом Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: (IeeeOrdering) => Boolean): IeeeOrdering

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering в Ensuring[IeeeOrdering] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: => Any): IeeeOrdering

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering в Ensuring[IeeeOrdering] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): IeeeOrdering

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering в Ensuring[IeeeOrdering] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент ссылкой на объект-получатель (that) .

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:

    Он последователен: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковый хеш-код (o1.hashCode == o2.hashCode).

возвращает

true , если аргумент является ссылкой на объект-получатель; false в противном случае.

Определяющие классы
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

true , если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

def equiv(x: Double, y: Double): Boolean

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

Определяющие классы
IeeeOrdering → Ordering → PartialOrdering → Equiv

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Детали вызова метода finalize, а также взаимодействие с finalize и нелокальными возвратами и исключениями зависят от платформы.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указан SLS в качестве члена AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки форматирования соответствуют String.format (@см. java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из IeeeOrdering в StringFormat[IeeeOrdering] с помощью метода StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def gt(x: Double, y: Double): Boolean

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

Определяющие классы
IeeeOrdering → Ordering → PartialOrdering

def gteq(x: Double, y: Double): Boolean

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

Определяющие классы
IeeeOrdering → Ordering → PartialOrdering

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хеш-кода для этого объекта.

Определяющие классы
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта получателя T0.

Обратите внимание, что результат проверки зависит от семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.

возвращает

true если объект получателя является экземпляром стираемого типа T0; false в противном случае.

Определяющие классы
Any

def isReverseOf(other: Ordering[_]): Boolean

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

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

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

Определяющие классы
Ordering

def lt(x: Double, y: Double): Boolean

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

Определяющие классы
IeeeOrdering → Ordering → PartialOrdering

def lteq(x: Double, y: Double): Boolean

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

Определяющие классы
IeeeOrdering → Ordering → PartialOrdering

def max[U <: Double](x: U, y: U): U

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

Определяющие классы
IeeeOrdering → Ordering

def min[U <: Double](x: U, y: U): U

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

Definition Classes
IeeeOrdering → Ordering

implicit def mkOrderingOps(lhs: Double): OrderingOps

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

Definition Classes
Ordering

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на принимающий объект; false иначе.

Definition Classes
AnyRef

final def notify(): Unit

Будит один поток, ожидающий на мониторе объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

not specified by SLS as a member of AnyRef

final def notifyAll(): Unit

Будит все потоки, ожидающие на мониторе объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

not specified by SLS as a member of AnyRef

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))
Definition Classes
Ordering

def orElse(other: Ordering[Double]): Ordering[Double]

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

other

Ordering для использования, если этот Ordering возвращает ноль

Definition Classes
Ordering
Example:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElse(Ordering.by[Pair, Int](_.b))

def orElseBy[S](f: (Double) => S)(implicit ord: Ordering[S]): Ordering[Double]

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

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

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

Definition Classes
Ordering
Example:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElseBy[Int](_.b)

def reverse: Ordering[Double]

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

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

Definition Classes
Ordering → PartialOrdering

def reversed(): Comparator[Double]

Definition Classes
Comparator

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def thenComparing[U <: Comparable[_ >: U <: AnyRef]](arg0: java.util.function.Function[_ >: Double <: AnyRef, _ <: U]): Comparator[Double]

Definition Classes
Comparator

def thenComparing[U <: AnyRef](arg0: java.util.function.Function[_ >: Double <: AnyRef, _ <: U], arg1: Comparator[_ >: U <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparing(arg0: Comparator[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingDouble(arg0: ToDoubleFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingInt(arg0: ToIntFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingLong(arg0: ToLongFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это объединение имени класса, "@" и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
AnyRef → Any

def tryCompare(x: Double, y: Double): Some[Int]

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

Definition Classes
Ordering → PartialOrdering

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

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

Spec-Zone.ru

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