Operators

This page contains information about the comparison operators for the Bipartition class.

inline bool libsemigroups::Bipartition::operator<(Bipartition const &that) const

Compare two bipartitions for less.

Complexity

At worst linear in degree().

Parameters

that – a Bipartition object

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

Returns

true if this is less than that, and false otherwise.

inline bool libsemigroups::Bipartition::operator==(Bipartition const &that) const

Compare two bipartitions for equality.

Complexity

At worst linear in degree().

Parameters

that – a Bipartition object

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

Returns

true if this equals that, and false otherwise.

void libsemigroups::Bipartition::product_inplace(Bipartition const &x, Bipartition const &y, size_t thread_id = 0)

Modify the current bipartition in-place to contain the product of two bipartitions.

The parameter thread_id can be used some temporary storage is required to find the product of x and y.

Warning

If different threads call this function concurrently with the same parameter thread_id, then bad things will happen.

Parameters
  • x – the first bipartition to multiply

  • y – the second bipartition to multiply

  • thread_id – the index of the calling thread (defaults to 0)

Returns

(None)