Spec-Zone.ru › Scala 3.1

Особенность scala.math.BigDecimalAsIfIntegral

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

trait BigDecimalAsIfIntegral extends BigDecimalIsConflicted with Integral[BigDecimal]

Типы-супертипы
trait Integral[BigDecimal]
trait BigDecimalIsConflicted
trait Numeric[BigDecimal]
trait Ordering[BigDecimal]
trait PartialOrdering[BigDecimal]
trait Equiv[BigDecimal]
trait Serializable
trait Comparator[BigDecimal]
class Object
trait Matchable
class Any
Известные подтипы
объект BigDecimalAsIfIntegral.type

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Наследуется от 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

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

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

Исходный код
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 или false, в зависимости от того, является ли другой порядок обратным порядком этого.

Эквивалентно 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 в порядке.

Классы-определения 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 minus(x: BigDecimal, y: BigDecimal): BigDecimal

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

Источник
def negate(x: BigDecimal): BigDecimal

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

Источник
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: BigDecimal

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

Источник
def orElse(other: Ordering[BigDecimal]): Ordering[BigDecimal]

Создаёт 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[BigDecimal]

Принимая 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 parseString(str: String): Option[BigDecimal]

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

Источник
def plus(x: BigDecimal, y: BigDecimal): BigDecimal

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

Источник
override def reverse: Ordering[BigDecimal]

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

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

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

def reversed(): Comparator[BigDecimal]

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

Источник
def sign(x: BigDecimal): BigDecimal

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def times(x: BigDecimal, y: BigDecimal): BigDecimal

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

Источник
def toDouble(x: BigDecimal): Double

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

Source
def toFloat(x: BigDecimal): Float

Inherited from BigDecimalIsConflicted

Source
def toInt(x: BigDecimal): Int

Inherited from BigDecimalIsConflicted

Source
def toLong(x: BigDecimal): Long

Inherited from BigDecimalIsConflicted

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

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

Inherited from Ordering

Source
def zero: BigDecimal

Inherited from Numeric

Inherited implicits

Source
implicit override def mkNumericOps(lhs: BigDecimal): IntegralOps

Definition Classes Integral -> Numeric
Inherited from Integral

Source
implicit def mkOrderingOps(lhs: BigDecimal): OrderingOps

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

Inherited from 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/Numeric$$BigDecimalAsIfIntegral.html

Spec-Zone.ru

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