Class BigIntegers
java.lang.Object
dk.jonaslindstrom.ruffini.integers.structures.BigIntegers
- All Implemented Interfaces:
AdditiveGroup<BigInteger>,CommutativeMonoid<BigInteger>,EuclideanDomain<BigInteger>,Monoid<BigInteger>,OrderedSet<BigInteger>,Ring<BigInteger>,Semigroup<BigInteger>,SemiRing<BigInteger>,Set<BigInteger>
public class BigIntegers
extends Object
implements EuclideanDomain<BigInteger>, OrderedSet<BigInteger>
-
Method Summary
Modifier and TypeMethodDescriptionadd(BigInteger a, BigInteger b) Return the result of a+b.divide(BigInteger a, BigInteger b) Returns a pair (q, r) such that a = qb + r and 0 ≤ f(r) < f(b) where f is the Euclidean function (seeEuclideanDomain.norm(E)for this domain.booleanequals(BigInteger a, BigInteger b) Returnstrueif and only if a = b as elements of this set.static BigIntegersidentity()Return the identity element of this monoid.multiply(BigInteger a, BigInteger b) Return the result of the product ab in this group.negate(BigInteger a) Return -a.norm(BigInteger a) The euclidean function is a multiplicative map that maps elements of the domain to the integers and is used in the division ofEuclideanDomain.divide(E, E).toString()Returns a human-readable string representation of an element in this set.zero()Return the zero element.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup
doubling, isZero, scale, scale, subtract, sumMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid
add, addMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.EuclideanDomain
abs, divide, divideExact, divideExact, divides, mod, modMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Monoid
isIdentity, powerMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.OrderedSet
greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual
-
Method Details
-
getInstance
-
identity
Description copied from interface:MonoidReturn the identity element of this monoid.- Specified by:
identityin interfaceMonoid<BigInteger>
-
multiply
Description copied from interface:SemigroupReturn the result of the product ab in this group.- Specified by:
multiplyin interfaceSemigroup<BigInteger>
-
toString
Description copied from interface:SetReturns a human-readable string representation of an element in this set.- Specified by:
toStringin interfaceSet<BigInteger>
-
equals
Description copied from interface:SetReturnstrueif and only if a = b as elements of this set.- Specified by:
equalsin interfaceSet<BigInteger>
-
add
Description copied from interface:CommutativeMonoidReturn the result of a+b.- Specified by:
addin interfaceCommutativeMonoid<BigInteger>
-
negate
Description copied from interface:AdditiveGroupReturn -a.- Specified by:
negatein interfaceAdditiveGroup<BigInteger>
-
zero
Description copied from interface:CommutativeMonoidReturn the zero element.- Specified by:
zeroin interfaceCommutativeMonoid<BigInteger>
-
divide
Description copied from interface:EuclideanDomainReturns a pair (q, r) such that a = qb + r and 0 ≤ f(r) < f(b) where f is the Euclidean function (seeEuclideanDomain.norm(E)for this domain.- Specified by:
dividein interfaceEuclideanDomain<BigInteger>
-
norm
Description copied from interface:EuclideanDomainThe euclidean function is a multiplicative map that maps elements of the domain to the integers and is used in the division ofEuclideanDomain.divide(E, E).- Specified by:
normin interfaceEuclideanDomain<BigInteger>
-
toString
-
getOrdering
- Specified by:
getOrderingin interfaceOrderedSet<BigInteger>
-