cats.kernel.instances.BigDecimalGroup
Note that combining, removing, and inverting BigDecimal
values will use unlimited precision
operations.
This matches the behavior of Scala 2.12 and earlier versions, but not Scala 2.13, which means
that +
and |+|
(or sum
and combineAll
) may not agree if you are working with values with
limited-precision MathContext
s.
Attributes Source: BigDecimalInstances.scala Graph Reset zoom Hide graph Show graph
Supertypes Members list Concise view
Value members
Associative operation which combines two values.
Associative operation which combines two values.
Example:
scala> import cats.kernel.instances.string._
scala> import cats.kernel.instances.int._
scala> import cats.kernel.instances.option._
scala> Semigroup[String].combine("Hello ", "World!")
res0: String = Hello World!
scala> Semigroup[Option[Int]].combine(None, Some(1))
res1: Option[Int] = Some(1)
Attributes Source: BigDecimalInstances.scala
Find the inverse of a
.
combine(a, inverse(a))
= combine(inverse(a), a)
= empty
.
Example:
scala> import cats.kernel.instances.int._
scala> Group[Int].inverse(5)
res0: Int = -5
Attributes Source: BigDecimalInstances.scala
Remove the element b
from a
.
Remove the element b
from a
.
Equivalent to combine(a, inverse(b))
Example:
scala> import cats.kernel.instances.int._
scala> Group[Int].remove(5, 2)
res0: Int = 3
Attributes Definition Classes Source: BigDecimalInstances.scala
Given a sequence of as
, sum them using the monoid and return the total.
Given a sequence of as
, sum them using the monoid and return the total.
Example:
scala> import cats.kernel.instances.string._
scala> Monoid[String].combineAll(List("One ", "Two ", "Three"))
res0: String = One Two Three
scala> Monoid[String].combineAll(List.empty)
res1: String = ""
Attributes Inherited from: Monoid Source: Monoid.scala
Given a sequence of as
, combine them and return the total.
Given a sequence of as
, combine them and return the total.
If the sequence is empty, returns None. Otherwise, returns Some(total).
Example:
scala> import cats.kernel.instances.string._
scala> Semigroup[String].combineAllOption(List("One ", "Two ", "Three"))
res0: Option[String] = Some(One Two Three)
scala> Semigroup[String].combineAllOption(List.empty)
res1: Option[String] = None
Attributes Definition Classes Inherited from: Monoid Source: Monoid.scala
Return a
appended to itself n
times. If n
is negative, then
this returns inverse(a)
appended to itself n
times.
Return a
appended to itself n
times. If n
is negative, then
this returns inverse(a)
appended to itself n
times.
Attributes Definition Classes Inherited from: Group Source: Group.scala
Between each pair of elements insert middle
This name matches the term used in Foldable and Reducible and a similar Haskell function.
Between each pair of elements insert middle
This name matches the term used in Foldable and Reducible and a similar Haskell function.
Attributes Definition Classes Inherited from: CommutativeSemigroup Source: CommutativeSemigroup.scala
Tests if a
is the identity.
Tests if a
is the identity.
Example:
scala> import cats.kernel.instances.string._
scala> Monoid[String].isEmpty("")
res0: Boolean = true
scala> Monoid[String].isEmpty("something")
res1: Boolean = false
Attributes Inherited from: Monoid Source: Monoid.scala
return a semigroup that reverses the order
so combine(a, b) == reverse.combine(b, a)
Return the identity element for this monoid.
Return the identity element for this monoid.
Example:
scala> import cats.kernel.instances.int._
scala> import cats.kernel.instances.string._
scala> Monoid[String].empty
res0: String = ""
scala> Monoid[Int].empty
res1: Int = 0
Attributes Source: BigDecimalInstances.scala