CommutativeGroup
trait CommutativeGroup[a: Type] with Group[a], CommutativeMonoid[a]
SourceA trait for types that form a commutative group (abelian group)
i.e. groups where the combine
function is commutative.
The default instances for number define the additive inverse in the real numbers.
Instances
instance CommutativeGroup[Unit]
Sourceinstance CommutativeGroup[Int8]
Sourceinstance CommutativeGroup[Int16]
Sourceinstance CommutativeGroup[Int32]
Sourceinstance CommutativeGroup[Int64]
Sourceinstance CommutativeGroup[BigInt]
Sourceinstance CommutativeGroup[Float32]
Sourceinstance CommutativeGroup[Float64]
Sourceinstance CommutativeGroup[BigDecimal]
Sourceinstance CommutativeGroup[(a1, a2)] with CommutativeGroup[a1], CommutativeGroup[a2]
Sourceinstance CommutativeGroup[(a1, a2, a3)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8, a9)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8], CommutativeGroup[a9]
Sourceinstance CommutativeGroup[(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)] with CommutativeGroup[a1], CommutativeGroup[a2], CommutativeGroup[a3], CommutativeGroup[a4], CommutativeGroup[a5], CommutativeGroup[a6], CommutativeGroup[a7], CommutativeGroup[a8], CommutativeGroup[a9], CommutativeGroup[a10]
Source