Spec-Zone.ru › Scala 3.2

Трейт Numeric.BigDecimalIsConflicted

Исходный код

trait BigDecimalIsConflicted extends Numeric[BigDecimal]

Суператрибуты
trait Numeric[BigDecimal]
trait Ordering[BigDecimal]
trait PartialOrdering[BigDecimal]
trait Equiv[BigDecimal]
trait Serializable
trait Comparator[BigDecimal]
class Object
trait Matchable
class Any
Известные подтипы
trait BigDecimalAsIfIntegral
object BigDecimalAsIfIntegral.type
trait BigDecimalIsFractional
object BigDecimalIsFractional.type

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

Исходный код
class NumericOps(lhs: T)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def abs(x: BigDecimal): T

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def max[U <: BigDecimal](x: U, y: U): U

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

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

Источник
def min[U <: BigDecimal](x: U, y: U): U

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

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

Источник
def on[U](f: U => BigDecimal): 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[BigDecimal]): 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: BigDecimal => 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 sign(x: BigDecimal): T

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def tryCompare(x: BigDecimal, y: BigDecimal): Option[Int]

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

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

Источник
def zero: T

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

Унаследованные неявные значения

Источник
implicit def mkNumericOps(lhs: BigDecimal): NumericOps

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

Исходный код
implicit def mkOrderingOps(lhs: BigDecimal): 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$$BigDecimalIsConflicted.html

Spec-Zone.ru

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