template<typename T, auto Zero, auto One, std::size_t Order, typename Add = std::plus<T>, typename Mult = std::multiplies<T>>
struct GaloisFieldRegistration< T, Zero, One, Order, Add, Mult >
Extends FieldRegistration with the Galois-specific opt-ins: the carrier is declared a finite field of a given order.
- Template Parameters
-
| Order | The field's cardinality \(q = |T| = p^n\) (a prime power). Exposed as galois_order_v for the dedekind.algebra:galois traits. |
template<typename T, auto Zero, auto One, std::size_t Order, typename Add = std::plus<T>, typename Mult = std::multiplies<T>>
template<typename AddOp, typename MultOp>
Initial value:=
(std::same_as<AddOp, Add> && std::same_as<MultOp, Mult>) ? Order : 0
template<typename T, auto Zero, auto One, std::size_t Order, typename Add = std::plus<T>, typename Mult = std::multiplies<T>>
template<typename AddOp, typename MultOp>
Initial value:=
std::same_as<AddOp, Add> && std::same_as<MultOp, Mult>