Interface CommutativeMonoid<E>

Type Parameters:
E - Element type.
All Superinterfaces:
Set<E>
All Known Subinterfaces:
AdditiveGroup<E>, EuclideanDomain<E>, Field<E>, InnerProductSpace<V,S,F>, Module<V,S,R>, NormedVectorSpace<V,S,F>, Ring<E>, SemiRing<E>, VectorSpace<V,S,F>
All Known Implementing Classes:
AbstractModule, AbstractVectorSpace, AlgebraicFieldExtension, BigElements, BigFiniteField, BigIntegers, BigIntegersModuloN, BigPrimeField, BigRationals, ComplexCoordinateSpace, ComplexNumbers, ConstructiveReals, Curve25519, EdwardsCurve, FieldOfFractions, FiniteField, GaussianRationals, Integers, IntegersModuloN, MatrixRing, MontgomeryCurve, MultivariatePolynomialRing, MultivariatePolynomialRingOverRing, NullSafeRing, PerformanceLoggingField, PerformanceLoggingRing, PolynomialRing, PolynomialRingFFT, PolynomialRingKaratsuba, PolynomialRingOverRing, PrimeField, QuadraticField, QuotientRing, Rationals, RealCoordinateSpace, RealNumbers, ShortWeierstrassCurveAffine, ShortWeierstrassCurveProjective, TestUtils.TestBigIntegers, TestUtils.TestField, TestUtils.TestIntegers, VectorGroup, VectorSpaceOverField

public interface CommutativeMonoid<E> extends Set<E>
A commutative monoid is a set with an associative and commutative addition operation.
  • Method Summary

    Modifier and Type
    Method
    Description
    add(E a, E b)
    Return the result of a+b.
    default E
    add(E a, E b, E c)
    Return the result of a+b+c.
    default E
    add(E a, E b, E c, E d)
    Return the result of a+b+c+d.
    Return the zero element.

    Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Set

    equals, toString
  • Method Details

    • add

      E add(E a, E b)
      Return the result of a+b.
    • add

      default E add(E a, E b, E c)
      Return the result of a+b+c.
    • add

      default E add(E a, E b, E c, E d)
      Return the result of a+b+c+d.
    • zero

      E zero()
      Return the zero element.