![]() |
libsemigroups
v3.0.0
C++ library for semigroups and monoids
|
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.