Validating partial perms

template<size_t N, typename Scalar>
void libsemigroups::validate(PPerm<N, Scalar> const &x)

Validate a partial perm.


Linear in the size of the container

Template Parameters

T – the type of the partial perm to validate.


x – the partial perm.


LibsemigroupsException – if:

  • the image of any point in x exceeds and is not equal to UNDEFINED; or

  • x is not injective