The field of real numbers approximated by a primitive floating point
number. NaN and infinity values are not considered as members, so all
operations resulting one of these will panic. The lattice order is the
normal total order, which is not bounded.
The set of integers whose elements are stored in a primitive signed
integer type. This structure is functionally equivalent to the set
of all integers, but some operations are going to panic if the
mathematical result cannot be represented in the primitive type.
The lattice order is the normal total order, which is not bounded.
The set of natural numbers whose elements are stored in a primitive
unsigned integer type. This structure is functionally equivalent to the
set of all natural numbers, but some operations are going to panic if the
mathematical result cannot be represented in the primitive type. The
lattice order is the normal total order, which is not upper bounded.
The divisibility partial order of an integral domain where the elements are
the unique representatives of associate classes, the largest element is
zero, the smallest element is one. If the domain is Euclidean, this is a
bounded distributive lattice where the meet is the greatest common divisor,
the join is the least common multiple.
The set of natural numbers (including zero) whose elements are
BigUint objects. The semilattice and
commutative semilattice operations are the normal ones while the
lattice order is the normal total order.
The ring of polynomials over a base ring or field where each element
is represented as a vector whose last element, the leading coefficient (if
any) must be non-zero. This means that the empty vector is the zero
element, and every polynomial has a unique representation. Polynomials
can be defined over any abelian group, though only the group operations
will be available.
The field of fractions over the elements of an Euclidean domain. The
elements are ratios where the numerator and denominator are relative
primes and the denominator is normalized with respect to its associate
class.
An arbitrary set of elements where not all representable objects are
members of the set. The same element can be represented by different
objects, thus the equals method shall be used in place of ==.
An Euclidean domain is an integral domain where the Euclidean algorithm
can be implemented. Typical examples are the rings of integers and
polynomials.
A field is a commutative ring with identity where each non-zero element
has a multiplicative inverse. Typical examples are the real, complex and
rational numbers, and finite fields constructed from an Euclidean domain
and one of its irreducible elements. All fields are Euclidean domains
themselves, with a rather trivial structure.
An arbitrary (multiplicative) group, which is a monoid where every element has an inverse.
Typical examples are the multiplicative and additive group of rings.
An integral domain is a commutative unitary ring in which the product of
non-zero elements are non-zero. This trait not add any new operations,
just marks the properties of the ring. A typical examples are the
integers, and the ring of polynomials with integer coefficients, which is
not an Euclidean domain.
A set where the join and meet of elements can be calculated. Typical
examples are the total orders of integers or the divisibility relation
on the associate classes of an Euclidean domain.
A set with a reflexive, transitive and antisymmetric relation.
Typical examples are the lattices and the divisibility relation of
integral domains (which might not be a lattice).