Defined in matrix.hpp.
This is a stateless struct with a single call operator of signature: Scalar operator()(Scalar x, Scalar y) const noexcept that returns \(x \otimes y\) which is defined by
\[ x\otimes y = \begin{cases} xy & \text{if } xy \leq T \\ \mbox{} T + ((xy - T) \pmod{P}) & \text{if } xy > T \end{cases} \]
representing multiplication in the quotient of the semiring natural numbers by the congruence \((T = T + P)\).
| T | the threshold. |
| P | the period. |
| Scalar | the type of the values in the semiring. |
Public Member Functions | |
| constexpr Scalar | operator() (Scalar x, Scalar y) const noexcept |
| Call operator for multiplication. | |
|
inlineconstexprnoexcept |
Defined in matrix.hpp.
This function returns the product of its arguments in an ntp semiring.
| x | the first value. |
| y | the second value. |
x and y in an ntp semiring.noexcept and is guaranteed never to throw.