are-isomorphic: small simplifications

* src/tgbaalgos/are_isomorphic.cc (is_isomorphism): Do not copy
trans_storage_t elements as they contain more than what we use.
Remap the states of a1 before the sort, not during the sort.
(are_trivially_different): Also catch the case where the
number of acceptance sets are different.
* src/tgbaalgos/are_isomorphic.hh: Improve doxygen.
This commit is contained in:
Alexandre Duret-Lutz 2014-12-10 17:38:00 +01:00
parent ff4dca48a5
commit be57ec290a
2 changed files with 60 additions and 63 deletions

View file

@ -26,12 +26,16 @@
namespace spot
{
/// \ingroup tgba_misc
/// \brief Return an isomorphism between a1 and a2 if such an isomorphism
/// exists. Otherwise, return an empty vector.
/// The return value is a vector indexed by states of a1, and containing
/// states of a2.
SPOT_API std::vector<unsigned> are_isomorphic(const const_tgba_digraph_ptr a1,
const const_tgba_digraph_ptr a2);
/// \brief Check whether two automate are isormorphic.
///
/// Return an isomorphism between a1 and a2 if such an isomorphism
/// exists. Otherwise, return an empty vector.
///
/// \return a vector indexed by states of \a a1, and containing
/// states of \a a2.
SPOT_API std::vector<unsigned>
are_isomorphic(const const_tgba_digraph_ptr a1,
const const_tgba_digraph_ptr a2);
}
#endif