Spec-Zone.ru › Scala 2.13 Library

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

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

трейт IeeeOrdering extends Ordering[Float]

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

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

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

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

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

TotalOrdering

Линейные супертипы
Ordering[Float], PartialOrdering[Float], Equiv[Float], java.io.Serializable, Comparator[Float], AnyRef, Any
Известные подклассы
FloatIsFractional, 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: Float, y: Float): 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

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

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

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

def ensuring(cond: Boolean): IeeeOrdering

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

final def eq(arg0: AnyRef): Boolean

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

Метод 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).

returns

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

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

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

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

returns

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

Definition Classes
AnyRef → Any

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

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

Definition Classes
IeeeOrdering → Ordering → PartialOrdering → Equiv

def finalize(): Unit

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

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

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

не указано в SLS как член AnyRef

def formatted(fmtstr: String): String

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

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

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

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

возвращает

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

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

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

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

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

def gteq(x: Float, y: Float): 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 == this.reverse.

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition Classes
IeeeOrdering → Ordering

implicit def mkOrderingOps(lhs: Float): 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) => Float): 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[Float]): Ordering[Float]

Создает 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: (Float) => S)(implicit ord: Ordering[S]): Ordering[Float]

Учитывая 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[Float]

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

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

Definition Classes
Ordering → PartialOrdering

def reversed(): Comparator[Float]

Definition Classes
Comparator

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

Definition Classes
AnyRef

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

def toString(): String

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

returns

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

Definition Classes
AnyRef → Any

def tryCompare(x: Float, y: Float): 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$$Float$$IeeeOrdering.html

Spec-Zone.ru

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