Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::morphologies::IsInteger Concept Referenceexport

Concept definition

template<typename T>
IsAlgebra<T, std::plus<T>, std::multiplies<T>, std::modulus<T>> &&
std::three_way_comparable<T> && requires(T a, T b) {
{ a - b } -> std::same_as<T>;
{ -a } -> std::same_as<T>;
{ T{} } -> std::same_as<T>;
{ a / b } -> std::same_as<T>;
}
Definition integral.cppm:98

Detailed Description

: integer-shape operator-surface concept (Euclidean ring shape — additive group + multiplicative monoid + Euclidean pair, with three_way_comparable for the order surface).

Composition: IsAlgebra over (+, *, %) supplies binary closure for the three Euclidean operators; the requires clause adds binary - (closure-of-subtraction), unary - (additive inverse), default T{} (the additive identity), and binary / (Euclidean quotient). std::three_way_comparable gates the ordering surface without demanding strict reflexivity (the ℝ-as-double / IEEE-754 fragment fails reflexivity by NaN-vs-NaN, so we deliberately stop short of IsPreOrdered here).