Spec-Zone.ru › Scala 3.1

Объект scala.math.BigInt

Исходный код

объект BigInt расширяет BigIntOrdering

Надтипы
Трейт BigIntOrdering
Трейт Ordering[BigInt]
Трейт PartialOrdering[BigInt]
Трейт Equiv[BigInt]
Трейт Serializable
Трейт Comparator[BigInt]
Класс Object
Трейт Matchable
Класс Any
Тип "self"
BigInt.type

Наследуемые классы-объекты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def on[U](f: U => BigInt): 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[BigInt]): Ordering[BigInt]

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

При заданном 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

Исходный код
переопределенное def reverse: Ordering[BigInt]

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

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

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

def reversed(): Comparator[BigInt]

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
def tryCompare(x: BigInt, y: BigInt): Option[Int]

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

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

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

Source
implicit def mkOrderingOps(lhs: BigInt): 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.1.1/scala/math/Ordering$$BigInt$.html

Spec-Zone.ru

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