in algebird-core/src/main/scala/com/twitter/algebird/GeneratedAbstractAlgebra.scala [2598:2663]
override def one: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) = (
aring.one,
bring.one,
cring.one,
dring.one,
ering.one,
fring.one,
gring.one,
hring.one,
iring.one,
jring.one,
kring.one,
lring.one,
mring.one,
nring.one,
oring.one,
pring.one,
qring.one
)
override def times(
l: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q),
r: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
): (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) = (
aring.times(l._1, r._1),
bring.times(l._2, r._2),
cring.times(l._3, r._3),
dring.times(l._4, r._4),
ering.times(l._5, r._5),
fring.times(l._6, r._6),
gring.times(l._7, r._7),
hring.times(l._8, r._8),
iring.times(l._9, r._9),
jring.times(l._10, r._10),
kring.times(l._11, r._11),
lring.times(l._12, r._12),
mring.times(l._13, r._13),
nring.times(l._14, r._14),
oring.times(l._15, r._15),
pring.times(l._16, r._16),
qring.times(l._17, r._17)
)
}
/**
* Combine 18 semigroups into a product semigroup
*/
class Tuple18Semigroup[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](implicit
asemigroup: Semigroup[A],
bsemigroup: Semigroup[B],
csemigroup: Semigroup[C],
dsemigroup: Semigroup[D],
esemigroup: Semigroup[E],
fsemigroup: Semigroup[F],
gsemigroup: Semigroup[G],
hsemigroup: Semigroup[H],
isemigroup: Semigroup[I],
jsemigroup: Semigroup[J],
ksemigroup: Semigroup[K],
lsemigroup: Semigroup[L],
msemigroup: Semigroup[M],
nsemigroup: Semigroup[N],
osemigroup: Semigroup[O],
psemigroup: Semigroup[P],
qsemigroup: Semigroup[Q],
rsemigroup: Semigroup[R]
) extends Semigroup[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)] {