libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
MaxPlusProd< Scalar >
template<typename Scalar>
struct libsemigroups::MaxPlusProd< Scalar >

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 bitset_type

\[ x\otimes y = \begin{cases} x + y & \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 max-plus semiring.

Template Parameters
Scalarthe 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.
 

Member Function Documentation

◆ operator()()

template<typename Scalar>
Scalar operator() ( Scalar x,
Scalar y ) const
inlinenoexcept

This function returns the product of its arguments in the max-plus semiring.

Parameters
xthe first value.
ythe second value.
Returns
The product of x and y in the max-plus semiring.
Exceptions
This function is noexcept and is guaranteed never to throw.

The documentation for this struct was generated from the following file: