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} \min\{x + y, T\} & \text{if } x \neq -\infty\text{ and }y \neq -\infty \\ \mbox{} -\infty & \text{if } x = -\infty \text{ or }y = -\infty; \end{cases} \]
representing multiplication in the quotient of the max-plus semiring by the congruence \(T = T + 1\).
| T | the threshold (point at which the entries in the max-plus semiring are truncated). |
| Scalar | the type of the values in the semiring (must be signed integer type). |
Public Member Functions | |
| Scalar | operator() (Scalar x, Scalar y) const noexcept |
| Call operator for multiplication. | |
|
inlinenoexcept |
This function returns the product of its arguments in a max-plus truncated semiring.
| x | the first value. |
| y | the second value. |
x and y in truncated max-plus semiring.noexcept and is guaranteed never to throw.