Spec-Zone.ru › Scala 3.2

Трейт Numeric.DoubleIsFractional

Объект-компаньон • Исходный код

Трейт DoubleIsFractional extends Fractional[Double]

Суперайпы
Трейт Fractional[Double]
Трейт Numeric[Double]
Трейт Ordering[Double]
Трейт PartialOrdering[Double]
Трейт Equiv[Double]
Трейт Serializable
Трейт Comparator[Double]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
Объект DoubleIsFractional.type

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

Исходный код
Класс FractionalOps(lhs: T) extends NumericOps

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

Исходный код
Класс NumericOps(lhs: T)

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

Исходный код
Класс OrderingOps(lhs: T)

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

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

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

Конкретные методы

Исходный код
переопределенный def abs(x: Double): Double

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

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

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

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

Исходный код
def negate(x: Double): Double

Исходный код
def parseString(str: String): Option[Double]

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

Исходный код
переопределенный def sign(x: Double): Double

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

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

Исходный код
def toDouble(x: Double): Double

Исходный код
def toFloat(x: Double): Float

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

Исходный код
def toLong(x: Double): Long

Наследованные методы

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

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

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

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

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

Исходный код
переопределенный def equiv(x: Double, y: Double): Boolean

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

Определяющие классы Ordering -> PartialOrdering -> Equiv
Наследуется от Ordering

Исходный код
переопределенный def gt(x: Double, y: Double): Boolean

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

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

Исходный код
переопределенный def gteq(x: Double, y: Double): Boolean

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

Определяющие классы Ordering -> PartialOrdering
Наследуется от Ordering

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

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

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

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

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

Исходный код
переопределенный def lt(x: Double, y: Double): Boolean

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

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

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

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

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

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

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

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

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

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

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

Исходный код
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 one: T

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

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

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

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

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

Пример
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

Исходный код
def zero: T

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

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

Source
implicit override def mkNumericOps(lhs: Double): FractionalOps

Определяющие классы Fractional -> Numeric
Унаследовано от Fractional

Source
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/Numeric$$DoubleIsFractional.html

Spec-Zone.ru

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