Defined to be equivalent to additive.sumn(one, n).
Defined to be equivalent to additive.sumn(one, n). That is, n
repeated summations of this ring's one, or -one if n is
negative.
Tests if a is zero.
Tests if a is zero.
This is similar to Semigroup#pow, except that a pow 0 is defined to be
the multiplicative identity.
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.
Given a sequence of as, sum them using the semigroup and return the total.
Given a sequence of as, sum them using the semigroup and return the total.
If the sequence is empty, returns None. Otherwise, returns Some(total).
Return a multiplied with itself n times.
Return a multiplied with itself n times.
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.
Given a sequence of as, sum them using the semigroup and return the total.
Given a sequence of as, sum them using the semigroup and return the total.
If the sequence is empty, returns None. Otherwise, returns Some(total).
Return a added with itself n times.
Return a added with itself n times.
Ring represents a set (A) that is a group over addition (+) and a monoid over multiplication (*). Aside from this, the multiplication must distribute over addition.
Ring implements some methods (for example fromInt) in terms of other more fundamental methods (zero, one and plus). Where possible, these methods should be overridden by more efficient implementations.